在对象解构赋值中转义保留关键字

Escape reserved keywords in object destructing assignment

是否可以在对象析构赋值中使用保留关键字。

具体来说,我正在尝试使用 属性 属性 命名的默认值来处理 JSON。

//Doesn't compile
class FooBar {
  constructor({foo, default}) {
    this.foo = foo;
    this.default = default;
  }
}


/* json from server {foo: "bar", default: true} */
new FooBar(json);

可以将它们用作 属性 名称,但不能用作变量名。选择不同的目标:

class FooBar {
  constructor({foo, default: def}) {
    this.foo = foo;
    this.default = def;
  }
}