gpt4 book ai didi

javascript - 对象作为对象属性名称错误?

转载 作者:行者123 更新时间:2023-11-28 18:32:11 25 4
gpt4 key购买 nike

var a = {};
var b = new Object();
var c = new Object();
a[b] = 123;
a[c] = 456;
console.log(a[b]); //output is 456, why?
console.log(a[c]); //output is 456, why?

这是如何工作的,a[b] 输出是 456,为什么?

最佳答案

由于对象作为对象键提供,因此使用 toString() 将其转换为字符串。

var b = new Object();
console.log(b.toString());
[object Object]

因为,var bvar c 都转换为 [object Object]。对象引用的处理方式如下:

a["[object Object]"] = 123;
a["[object Object]"] = 456;

[object Object] 的最新值为 456。

您可以通过尝试打印该值来验证这一点:

a["[object Object]"]
456
a[(new Object()).toString()]
456

关于javascript - 对象作为对象属性名称错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37780874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com