2 回答

TA貢獻1864條經驗 獲得超2個贊
如果您事先知道密鑰,則可以解構(僅限 ES6):
const obj = { foo: 'foo', bar: 'bar' };
const { foo, bar } = obj;
console.log(foo);
console.log(bar);
不推薦,因為全局變量不好,但您可以將對象分配給window,然后將其屬性作為獨立變量引用。這在 ES5 中使用 polyfill 是可行的:
const obj = { foo: 'foo', bar: 'bar' };
Object.assign(window, obj);
console.log(foo);
console.log(bar);
但是動態變量名通常是一個壞主意。如果可能的話,最好只使用您最初擁有的對象。
更不推薦,但既然它回答了這個問題,你可以eval(但請不要):
(() => {
const obj = { foo: 'foo', bar: 'bar' };
for (const [prop, val] of Object.entries(obj)) {
eval(`var ${prop} = val`);
}
console.log(foo);
console.log(bar);
})();
如果必須的話,上述也可以在 ES5 中完成,但你不應該 - 這是一個 X/Y 問題

TA貢獻1856條經驗 獲得超17個贊
您可以使用解構
const obj = {a : "aaaa", b : "bbbb"};
//use destructuring
const { a } = obj;
console.log(a);
添加回答
舉報