Is |delete [].length| supposed to evaluate to true in ES6 (deviating from ES5)?

# Jeff Walden (12 years ago)

The current steps call the [[Delete]] method on the array with property "length" and assign the result to deleteStatus, ReturnIfAbrupt(deleteStatus), throw if strict mode and !deleteStatus, then return true. Should that last return-true have been |return deleteStatus| instead?

# Allen Wirfs-Brock (12 years ago)

On Apr 4, 2013, at 7:18 PM, Jeff Walden wrote:

The current steps call the [[Delete]] method on the array with property "length" and assign the result to deleteStatus, ReturnIfAbrupt(deleteStatus), throw if strict mode and !deleteStatus, then return true. Should that last return-true have been |return deleteStatus| instead?

Spec. typo! It should be return false.

It is extremely rare that this sort of semantic change would be intentional and if it was there would probably be some sort of compatibility note about it. So, if you see any more issues like this please keep reporting them. Unless it needs immediate discussion it is probably best to use bugs.ecmascript.org to report this kind of bug.