Sander Deryckere wrote:
2015-06-02 17:49 GMT+02:00 Brendan Eich <[email protected]
<mailto:[email protected]>>:
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]
and if you are not using computed property names, rather literal ones:
obj.?prop1
etc.
/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss