"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
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to