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