Allow Object Destructoring when assigning
It's not easy to parse for similar reasons async arrow functions are a
bitch to parse, but it appears possible (it'd force a shift instead of
a reduce, and it'd reinterpret the RHS unambiguously as a pattern)
with a [no LineTerminator here]
before the =
token.
Isiah Meadows me at isiahmeadows.com
Looking for web consulting? Or a new website? Send me an email and we can get started. www.isiahmeadows.com
Le 22 mars 2018 à 20:51, Sebastian Malton <sebastian at malton.name> a écrit :
Currently object destructoring is only allowed during variable declaration, however it would be useful, and seems rather odd from a usage standpoint, that it cannot be done during assignment.
Example: This is a allowed:
const { a } = b;
But this is not:
let a; if (...) { { a } = b.c; }
Sebastian Malton
This is already allowed, but you have to use some artefact in order to force the parser not to interpret{
as the beginning of a block:
let a ;
({ a } = b);
Oops...I misinterpreted the original email. :-)
As for forcing reinterpretation, I stand by my suggestion in an earlier reply:
It's not easy to parse for similar reasons async arrow functions are a bitch to parse, but it appears possible (it'd force a shift instead of a reduce, and it'd reinterpret the RHS unambiguously as a pattern) with a
[no LineTerminator here]
before the=
token.
Isiah Meadows me at isiahmeadows.com
Looking for web consulting? Or a new website? Send me an email and we can get started. www.isiahmeadows.com
An HTML attachment was scrubbed... URL: esdiscuss/attachments/20180322/dd1553ad/attachment