Brandon Benvie wrote:
On Aug 3, 2013, at 9:03 PM, Brandon Benvie<[email protected]> wrote:
On Aug 3, 2013, at 8:25 PM, Brendan Eich<[email protected]> wrote:
Value objects are non-extensible, no-own-property (so effectively frozen),
compare-by-value objects.
So, importantly, only one of the two existing commonly used tests for 'objectness' will continue to
work correctly in the face of value objects. The first being a test that typeof is
"object" or "function" that's not null, will continue to work. The second
`Object(value) === value` would no longer work because a value object will return itself from
`Object`.
This brings up another question I hadn't thought of: the interaction between
value objects and WeakMaps. A value object with an overridden strict equality
comparison (is this on the table for builtin types?) can't be WeakMap keys
probably.
s/probably/definitely/
This is covered already, see
http://wiki.ecmascript.org/doku.php?id=strawman:value_objects#weakmaps
(note Object.isValue mention there).
/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss