Обьясните синтаксис выражения?

Изучаю Преобразование объектов в примитивы, подскажите почему в объекте функция [Symbol.toPrimitive] записана в квадратных скобках? Любую другую функцию если пытаюсь записать таким образом, сразу синтаксическая ошибка.
let user = {
  name: "John",
  money: 1000,

 [Symbol.toPrimitive](hint) {
    alert(`hint: ${hint}`);
    return hint == "string" ? `{name: "${this.name}"}` : this.money;
  }
};
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Запись вида:
const methodName = 'bar';

const foo = {
  [methodName](message) {
    alert(message);
  }
}

аналогична записи:
const foo = {
  bar(message) {
    alert(message);
  }
}

Демо
Вычисляемые свойства
Symbol.toPrimitive
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы