Escape зарезервированные ключевые слова в объекте, разрушающем присваивание

Можно ли использовать зарезервированные ключевые слова в объекте, разрушающем назначение.

В частности, я пытаюсь обработать JSON со свойством свойства с именем default.

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


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

1 ответ

Решение

Их можно использовать как имя свойства, но не как имя переменной. Выберите другую цель:

class FooBar {
  constructor({foo, default: def}) {
    this.foo = foo;
    this.default = def;
  }
}
Другие вопросы по тегам