如何在解构赋值语法中使用特殊字符(如连字符)?

538*_*MEO 3 javascript spread-syntax ecmascript-2018

我很好奇为什么这似乎是不可能的:

const {a, b, 'special-one'} = { a:1, b:2, 'special-one': 3 };
// output => missing : after property id
Run Code Online (Sandbox Code Playgroud)

是否有可能在未来的 ES 版本中找到该语法?

谢谢你的灯:)

zer*_*298 5

在解构语句中重命名变量,名称中不能有带连字符的变量。您可以使用以下语法重命名,请参阅MDN:分配给新变量名称

一个属性可以从一个对象中解包出来,并分配给一个与对象属性名称不同的变量。

const {
  a,
  b,
  'special-one': specialOne
} = {
  a: 1,
  b: 2,
  'special-one': 3
};

console.log(specialOne);
Run Code Online (Sandbox Code Playgroud)