Sorry for rising this subject again, but I am somewhat vexed about the changed decision for the exception throwing when null is passed to the for..of statement. I know, that my writing here wont change it now, but I am a little bit uneasy about this dangerous precedent. So why it should not throw any exceptions:
- First considerations were right: it should behave the same as for..in. After making for..of throwable we lost the consistency. When we treat it from the consumers side, then it is clear, that this statements are equivalent, so they *must* be equal, when speaking about the null input. - For..of is the control flow statement and imho no exceptions should be thrown there, even when the input was invalid. Especially if the input was null - the statement should just not proceed, and this means we have zero iterations and will continue the execution. - “likely just masking a bug when passing null“. The main word here is “likely”, and it is not the argument for the exception throwing. What about var foo; var bar = foo + 1 - foo is also undefined and addition is here, so is also likely a bug, and following the logic an exception here should be thrown also. If we continue to think in this direction, then every tiny failure will cause an exception, and this is definitely not good for the web. Exception throwing should be occurred, only when it is definitely the bug or when it can’t be proceeded due to the invalid input data. - “Fast fail is better”. Please no, not for the ecmascript, that’s why I love it and that’s how it was designed, please do not change this, especially when there is no need for this, and the arguments above have shown, that this is not the case here. What I think is the correct behaviour? If the input is iterable it should loop over it, otherwise (null / not iteratable type) should perform nothing and continue with the execution, just like for..in. Please, do not take this onto your account, this is more like a scream of soul, and I hope I’m wrong ;) Cheers, Alex
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

