found the answer in the full proposal. Variables will always be assigned to, never checked for equality.
To me this is pretty average and seems like it will cause magic numbers/strings/etc if I can't use constants where it makes sense. The proposed solution is to do something like
{ status: 200 } if (x === foo) => // do something
which just seems (for this type of use case, maybe not all) like more boilerplate code for no real benefit over just doing something like
if (res.status === 200 && res.x === foo) //do something
I would much prefer if there was some sort of special operator used to either check equality or to destructure when matching so it is obvious what the code is doing.
To me this is pretty average and seems like it will cause magic numbers/strings/etc if I can't use constants where it makes sense. The proposed solution is to do something like
which just seems (for this type of use case, maybe not all) like more boilerplate code for no real benefit over just doing something like I would much prefer if there was some sort of special operator used to either check equality or to destructure when matching so it is obvious what the code is doing.