在一次采访中,我得到了一段简短的 JavaScript 代码来给出其输出,但我不确定其输出是什么。他创建了一个 var 对象
,并使用数组数据结构将对象分配为该对象的索引。我在面试后确实控制台了该代码,但仍然不明白它是如何显示输出的。
这是代码
var a = {};
b = { key: 'b'};
c = { key: 'c'};
a[b] = 123;
a[c] = 456;
console.log(a[b]); //what is the output of this console statement and explain why
任何人都可以解释它显示的输出背后的 JavaScript 逻辑吗? 提前致谢!
最佳答案
用作key的toString的对象是[object Object]
,这就是每次使用的对象
var a = {};
b = { key: 'b'};
c = { key: 'c'};
a[b] = 123; // sets a["[object Object]"]
console.log(b,a[b])
a[c] = 456; // ALSO sets a["[object Object]"]
console.log(b,a[b])
console.log(Object.keys(a))
console.log(a[b]);
console.log(a["[object Object]"]);
关于javascript - 我们可以使用对象作为Javascript中对象的键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68891298/