archives

« Bugzilla Issues Index

#2576 — 9.4.5.2 [[DefineOwnProperty]]: Condition in step 3.c.iii is never true


9.4.5.2 [[DefineOwnProperty]], steps 3.c.iii - 3.c.iii:

> ii. Let length be the value of O’s [[ArrayLength]] internal slot.
> iii. If length is undefined, then throw a TypeError exception.

Typed arrays are the only integer indexed exotic objects and their [[ArrayLength]] data slot is always initialised with 0, see 22.2.2.4 %TypedArray%[ @@create ], step 10. That means the if-condition will always evaluate to false. If step 3.c.iii is supposed to test the initialisation state of an integer indexed exotic object, a different internal data slot needs to be used. Otherwise the if-condition should be removed or changed to an assertion.


fixed in rev23 editor's draft

deleted the check for undefined


fixed in rev23 draft