On Apr 23, 2012, at 11:15 AM, Brendan Eich wrote:
> Allen Wirfs-Brock wrote:
>> This raises the issue that ES5.1 overlooked poisoning caller/arguments for
>> Function.prototype. Only function object created using the algorithm in
>> 13.2 have the the poison pill properties and Function.prototype is not
>> specified using 13.2.
>
> Function.prototype is special already:
>
> js> Function.prototype
> function () {}
> js> Function.prototype.prototype
> js>
>
> I think we did the right thing in not adding poisoned pills to it. Was there
> a capability leak involving Function.prototype that I missed?
caller and arguments properties on functions are a non-standard extension, so
the ES spec. can really say whether or not they exist on Function.prototype
except by actually defining them. Poison pills prevent an implementation from
extending strict functions created via 13.2 from adding such own properties.
It doesn't prevent a new kind of strict function (eg, arrows) that inherit from
Function.prototype but is not specified to have poison pills (as suggested by
Brendan Benvie) from from inheriting an implementation defined caller or
arguments property.
Allen
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss