Вычисляемые имена свойств позволяют тебе использовать динамические значения в качестве ключей свойств при деструктуризации объекта, вместо того чтобы жёстко кодировать имя свойства.
Используй квадратные скобки [ ] вокруг динамического ключа, затем двоеточие и имя переменной, которой нужно присвоить значение:
const { [dynamicKey]: localVariable } = sourceObject;
const key = "name";
const { [key]: value } = { name: "John" };
console.log(value); // "John"
Здесь key содержит строку "name", поэтому JavaScript вычисляет [key] как "name" во время выполнения и присваивает соответствующее значение переменной value.
[key] — это динамический поиск свойства: выражение внутри скобок вычисляется в рантайме: value — это локальный псевдоним переменной — он обязателен при использовании вычисляемых ключей, так как нет статического имени, которое можно использовать по умолчаниюfunction getProperty(obj, key) {
const { [key]: result } = obj;
return result;
}
getProperty({ age: 30 }, "age"); // 30
Этот паттерн аккуратно извлекает свойство из объекта по динамическому ключу, избегая менее читаемых альтернатив вроде obj[key].
При использовании вычисляемых имен свойств в деструктуризации имя переменной после двоеточия является опциональным, если динамический ключ разрешается в валидный идентификатор.
Новый — ещё не проверен сообществом
Вы