[[DefineOwnProperty]] wording nit

Jeff Walden jwalden+es at MIT.EDU
Thu Sep 17 17:44:39 PDT 2009

On 17.9.09 12:15 , Jason Orendorff wrote:
>>   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.
> I think you have the two interpretations reversed here; under the
> second interpretation (the one that doesn't seem reasonable to me), if
> [[Enumerable]] is missing, we never Reject.

Er, yes, I did.

>> Past email to this list makes clear the first interpretation was the desired
>> one.
> (assuming you mean the second interpretation)

The one I meant was "the result of any comparison which evaluates desc.[[Something]] must be false".  I'm not going to try to number this, given the mixup in the email.  :-)

> Yow. This is very unintuitive. To me, the spec seems to say the
> opposite of what's intended here.

I don't disagree!

> Perhaps modifying step 7b to explicitly say "Reject, if [[Enumerable]]
> is present in Desc and...", is a less arcane approach to fixing this.
> (That might not be the only change needed though.)

This isn't what I'd thought we meant, but it seems to be the newly-adopted change in errata, and indeed I prefer it to the one I thought we meant -- much more intuitive.


More information about the es-discuss mailing list