Null iterable in for-of?
Allen Wirfs-Brock
allen at wirfs-brock.com
Thu Jun 12 15:39:14 PDT 2014
On Jun 12, 2014, at 3:18 PM, André Bargull wrote:
> Corrected link: https://bugs.ecmascript.org/show_bug.cgi?id=2737
>
>
> On 6/13/2014 12:16 AM, André Bargull wrote:
>>> On Jun 12, 2014, at 2:36 PM, Erik Arvidsson wrote:
>>>
>>> > Somehow I missed when we decided to allow null/undefined as the iterable value in for-of loops.
>>> >
>>> > The following test passes using the spec algorithms:
>>> >
>>> > var c = 0;
>>> > for (var x of null) {
>>> > c++;
>>> > }
>>> > assert.equal(c, 0);
>>> >
>>> > However, if we get a null value here we are most likely just masking an user bug.
>>> >
>>> > I assume the justification is that for-in allows null here? However, for-of is new syntax and we have the chance to get this right this time around.
>>>
>>> Yup, there was an issue that was reported and fixed fairly recently pointing out that for-of was inconsistent with for-in in this respect.
>>
>> for-of statement iteration always ignored undefined/null (always = since it was added in rev6). I've only requested in [1] to align for-of iteration in statements and comprehensions to have the same behaviour w.r.t. undefined/null.
>>
>>
>> [1] https://bugs.ecmascript.org/show_bug.cgi?id=273
>
Oh, right it's the comprehension consistency I was think of, so yes the ignoring null/undefined isn't a new change.
I don't really care which way we go on this. Clean slate world I'd throw. Messy world - coin flip.
Allen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20140612/d1b1b087/attachment-0001.html>
More information about the es-discuss
mailing list