On May 19, 2008, at 12:56 AM, Steven Mascaro wrote: > The use of Date makes things look odd, but I assume the spec means > something like the following:* > > js> function f(){} > js> f.prototype = {const prop1: 1, prop2: 2} > js> o = new f > js> o.prop1 = 42 > 42 > js> o.prop1 > 1 > > which is the behaviour I'd expect. > > * I can't find the notation for const's in object literals.
You're using the ES4 syntax; there's no const in ES3. Yeah, I picked Date but any standard constructor will do (because standard constructors have DontDelete + ReadOnly attributes for their .prototype properties). So you could s/Date/Object/g, but Date suffices and its toString is less anonymous (i.e., not "[object Object]"). Other suitable DontDelete + ReadOnly properties than the standard constructors' prototype properties in ES3 include String length, Number.MAX_VALUE, etc. Recollecting more from ES1 days, we did not think about const per se, but we did want to prevent ReadOnly properties from being overridden in delegates where related properties and methods that depended on the ReadOnly value were not overridden, therefore found in a prototype. Integrity again. /be _______________________________________________ Es4-discuss mailing list Es4-discuss@mozilla.org https://mail.mozilla.org/listinfo/es4-discuss