В JavaScript мы можем динамически создавать или динамически создавать свойства объекта, используя []
. Документировано ли это, что он также может использовать его при определении/создании объекта?Обозначение квадратных скобок внутри объекта
Насколько я тестировал (Chrome, FF, Safari), последние версии работают хорошо. Является ли это документированным, поддерживали ли старые браузеры это?
var key = "foo";
var value = 'bar';
var object = {
a: 1,
b: 2,
[key]: value,
c: 3
};
document.body.innerHTML = JSON.stringify(object); // {"a":1,"b":2,"foo":"bar","c":3}
См. Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Browser_compatibility или http://kangax.github.io/compat-table/es6/#test -object_literal_extensions_computed_properties для поддержки браузера. –