Finiteness of object properties set
david.bruant at labri.fr
Tue Sep 6 08:00:30 PDT 2011
There is a current expectation of objects being a /finite/ collection of
properties, but I don't see this information written anywhere. ES5.1 -
"An object is a collection of properties..."
"Collection" is nowhere defined in the spec. The Wikipedia page does not
state clearly anything about collection finiteness.
I have re-read very carefully the ES5.1 invariants regarding
non-extensible objects and they do not prevent (host) objects with an
infinite set of properties. More precisely, calls to [[GetOwnProperty]]
on non-extensible objects are not forbidden to describe as existent,
properties which have not been observed as non-existent (which leaves
(infinite) room since within in a finite time, only a finite set of
properties can be observed as non-existent).
The current design of the fix trap explicitely asks for an regular
object (which has a finite set of properties). The same applies to the
current design of non-extensible proxies which has an internal set of
properties (finite in current Tom's implementation).
Should the spec clearly state something about object property finiteness?
(I have some crazy ideas with the fix trap returning RegExps, there is
still time to stop me :-p )
More information about the es-discuss