Как установить ключ объекта в JavaScript с использованием переменной

Проблема с использованием переменной для ключа объекта

Я создаю объекты в JavaScript и добавляю их в массив. При этом храню имя ключа в переменной, например, так:

var свойство = "счет";
массив.push({ свойство: значения });

Но когда смотрю на массив объектов, все они имеют ключ “свойство” вместо значения переменной. Как правильно установить ключ на основе переменной?

Да, используй квадратные скобки: массив.push({ [свойство]: значения });. JavaScript тогда поймет, что берешь значение переменной как ключ. Без скобок будет просто строка!

Это вычисляемые свойства объектов. Когда пишешь { свойство: значения }, JavaScript читает “свойство” как строку, а не переменную. Чтобы использовать переменную как ключ, оберни её в квадратные скобки: { [свойство]: значения }. Синтаксис из ES6, отлично работает для динамических ключей.