鉴于我们有一个
const fooBar = {
foo: 'bar'
}
和另一个对象
const fooBarBoom = {
foo: 'boom'
}
是否有办法重新使用fooBarBoom的fooBar中存在的'foo'键。
用例将是避免在预期的对象之间维护多个更改。
我知道我们可以做类似的事情
var fooBarBoom = {
[fooBar.foo]: 'boom'
}
但这将使我们将fooBarBoom.bar作为键而不是fooBarBoom.foo
答案 0 :(得分:3)
我认为您正在寻找
const key = "foo";
const fooBar = {
[key]: 'bar'
};
const fooBarBoom = {
[key]: 'boom'
};
尽管工厂函数可能是创建相同形状的对象的更简单解决方案:
function make(foo) {
return {foo};
}
const fooBar = make('bar');
const fooBarBoom = make('boom');
答案 1 :(得分:-1)
如果情况允许,请考虑Symbol
。
符号可以全局共享(运行时范围)。如果您想探索,给定的mdn链接会有所帮助。
console.log(Symbol.for('bar') === Symbol.for('bar')); // true