Andreas Rossberg wrote:
Hm, I don't think I used it differently. Or did I misunderstand what
Claus meant?
/Andreas
From Claus's 26-June message:
3) Again we have a internal consistency issue:
let myFoo = {a:0,b:1}.foo;
vs
let {foo: myFoo} = {a:0,b:1};
why should one work and the other fail? The general rule of JS is
that accessing a missing property returns undefined.
Ultimately, I'd like to have both:
- irrefutable matching:
here, the two phrases above are equivalent, as in the
destructuring proposal
--- end citation ---
Is the equivalence between those two let declarations the same as
one-case pattern matching? One-case matching in many languages with
"pattern matching" will fail on mismatch, whereas destructuring that
preserves the above equivalence must succeed and initialize myFoo to
undefined.
Should we call the fail (throw) vs. succeed distinction something other
than refutable vs. irrefutable?
/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss