Есть ли в любом случае повторно использовать ключи между различными объектами в JavaScript? - PullRequest
0 голосов
/ 16 декабря 2018

Учитывая, что у нас есть

const fooBar = {
  foo: 'bar'
}

и другой объект

const fooBarBoom = {
  foo: 'boom'
}

, есть ли способ повторно использовать ключ 'foo', присутствующий в fooBar в fooBarBoom.

Сценарий использования будет во избежание сохранения нескольких изменений ожидаемых объектов.

Я знаю, что мы можем сделать что-то вроде

var fooBarBoom = {
  [fooBar.foo]: 'boom'
}

, но это даст нам fooBarBoom.bar в качестве ключа ине fooBarBoom.foo

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

Рассмотрим Symbol, если ваша ситуация это позволяет.Символы могут быть использованы глобально (во время выполнения).Данная мдн ссылка поможет, если вы хотите исследовать.

console.log(Symbol.for('bar') === Symbol.for('bar')); // true

0 голосов
/ 16 декабря 2018

Я думаю, что вы ищете

const key = "foo";

const fooBar = {
  [key]: 'bar'
};
const fooBarBoom = {
  [key]: 'boom'
};

, хотя фабричная функция может быть более простым решением для создания объектов одинаковой формы:

function make(foo) {
  return {foo};
}

const fooBar = make('bar');
const fooBarBoom = make('boom');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...