On 2 June 2015 at 18:57, Brendan Eich <bren...@mozilla.org> wrote: > Sander Deryckere wrote: > >> 2015-06-02 17:49 GMT+02:00 Brendan Eich <bren...@mozilla.org <mailto: >> bren...@mozilla.org>>: >> >> >> Sander Deryckere wrote: >> >> For the prefix operator, it's unclear to me how you would do >> the following: Say you know `obj` is non-null, you want to >> test if it has a key `k1`, but if `k1` exists, you know it >> will also have a key `k2` a level deeper. With the suffix >> operator, this would be `obj[k1]?[k2]`, but with the prefix >> operator, it could be `obj?[k1][k2]` >> >> >> You circled back to the incompatible syntax, `?[`, but the prefix >> idea would have `?obj[k1][k2]`. The `?` goes in front at the start >> of an operand, and is thus unambiguous with respect to the ternary >> operator. >> >> >> The question is not about the existence of `obj`, but if `obj` has a key >> `k1`. AFAICS, `?obj[k1][k2]` would test the existence of `obj`, which I >> don't need in this example. To test the existence of a key inside `obj`, a >> prefix operator should come somewhere before the key. >> > > You might hope for that, but as we both noted, `?[` is not going to fly. > Don't break the (minified) Web. > > The prefix idea generalizes: > > ?obj[key] > obj[?key] > obj[key1][?key2] >
Hm, what's the meaning of a[?b[c]] ? /Andreas
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss