我遇到了this code snippet在 Mozilla 开发者网络 (MDN) 上,我正在绞尽脑汁试图找出为什么结果确实是“值(value)”
var foo = {unique_prop: 1}, bar = {unique_prop: 2}, object = {};
object[foo] = 'value';
console.log(object[bar]);
如果有人愿意启发我,我将不胜感激!
最佳答案
object[foo] = 'value';
您只能使用字符串作为标识符,因此当上面的代码运行时,JavaScript 会在内部调用 ToString
方法,该方法表示 “[object Object]”
。这就是对象的表示方式。
现在,当您执行 object[bar]
时,bar.toString()
也是 "[object Object]"
,并且由于 'value'
以 "[object Object]"
作为键存储,并返回。
关于javascript - 了解 Javascript 对象代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33502863/