[[DefineOwnProperty]] wording nit

Jeff Walden jwalden+es at MIT.EDU
Sat Sep 12 03:08:54 PDT 2009


"If a field is absent then the result of any test of its value is logically false."

I believe there are two plausible ways to interpret this: any evaluation of desc.[[Something]] when there is no [[Something]] field returns the value false, or the result of any comparison which evaluates desc.[[Something]] must be false.  The difference shows up in step 7b, whose wording is:

"Reject, if the [[Enumerable]] fields of current and Desc are the Boolean negation of each other."

Under the first interpretation, if there is no [[Enumerable]] field in Desc, then never Reject.

Under the second interpretation, if there is no [[Enumerable]] field in Desc, *and* if current.[[Enumerable]] is true, then Reject.

Past email to this list makes clear the first interpretation was the desired one.  Here's a wording proposal which, I think, admits only the first interpretation:

"If a field is absent, then the result of any test which uses that field's value is logically false."

Jeff


More information about the es-discuss mailing list