Perhaps, something like this:
var n1 = new Name("foo", "bar");
var n2 = new Name("foo", "bar");
n1.toString = function(){.....}
An implementation might have reasonably shared the same instance for
n1 and n2, but a user might be surprised that the new toString()
function is now found on what he considered to be two separate
instances.
Peter
On Tue, Mar 18, 2008 at 12:18 AM, Lars Hansen <[EMAIL PROTECTED]> wrote:
> Prototype properties are generally just DontEnum. Why would
> the toString prototype function need to be const for Name and
> Namespace?
>
>
>
> --lars
>
> > -----Original Message-----
> > From: Erik Arvidsson [mailto:[EMAIL PROTECTED]
> > Sent: 17. mars 2008 18:09
> > To: Lars Hansen
> > Cc: [email protected]
> > Subject: Re: ES4 draft: Name
> >
> > Fair enough. On a related question, does the following allow
> > removal of the field?
> >
> > prototype function toString(this:Namespace)
> > this.intrinsic::toString()
> >
> > If not these should be changed to
> >
> > prototype const function toString(this:Namespace)
> > this.intrinsic::toString()
> >
> > for Name and Namespace.
> >
> > On Mon, Mar 17, 2008 at 17:06, Lars Hansen <[EMAIL PROTECTED]> wrote:
> > > I don't know if that's necessary; it follows directly from the
> > > properties you mention and the fact that == and === work by
> > comparing
> > > the component fields. (By analogy,
> > > ES3 implementations already perform a fair amount of string
> > > interning but I don't recall that being discussed in the ES3
> > > spec.)
> > >
> > > --lars
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Erik Arvidsson [mailto:[EMAIL PROTECTED]
> > > Sent: 17.
> > > mars 2008 17:28 > To: Lars Hansen > Cc:
> > [email protected] >
> > > Subject: Re: ES4 draft: Name > > Should there be some informative
> > > text explaining that Names > are immutable (non dynamic, final and
> > > only constant fields) > so interning Name objects is
> > something that
> > > might be useful > for implementations?
> > > >
> > > > 2008/3/17 Lars Hansen <[EMAIL PROTECTED]>:
> > > > > Draft 3 of the spec for the Name class. Changelog near the >
> > > beginning.
> > > > >
> > > > > The main change is that Name extends Object (not String) and
> > > that > > ===, ==, !==, and != operate not on object
> > identity or on
> > > string > > representation but directly on the
> > (qualifier,identifier)
> > > > pair. (A > > draft of an enumerability spec that
> > justifies these
> > > changes is > > forthcoming.) > > > > --lars > > > >
> > > _______________________________________________
> > > > > Es4-discuss mailing list
> > > > > [email protected]
> > > > > https://mail.mozilla.org/listinfo/es4-discuss
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > erik
> > > >
> > >
> >
> >
> >
> > --
> > erik
> >
> _______________________________________________
> Es4-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es4-discuss
>
_______________________________________________
Es4-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es4-discuss