gpt4 book ai didi

javascript - 使用 Object 作为键总是会产生上次赋值的值

转载 作者:行者123 更新时间:2023-11-30 11:11:04 24 4
gpt4 key购买 nike

下面是代码片段-

var a = {};

b = {
key: "b"
};
c = {
key: "c"
};

a[b] = 123; // Here I am confused how object is used a key
a[c] = 456;

console.log(a[b]); // output is 456
console.log(a[c]); // output is 456

a[b] 和 a[c] 都打印 456。java 脚本如何替换 a[b] 中的 b 和 a[c] 中的 c。

最佳答案

对象属性名称是字符串(如果您显式创建符号,则为 Symbols,此处不是这种情况)。

无论您尝试将什么表达式用作属性名称,都会隐式转换为字符串。

任何基本对象都会有一个返回[object Object]"toString()方法(因此两个不同的对象将被转换成相同的字符串并表示相同属性)。

var a = {};

var b = {key : "b"};
var c = {key : "c"};

a[b] = 123;
a[c] = 456;

console.log(a[b]); // output is 456

var property_name = b.toString();
console.log("Property name: ", property_name);
console.log("a[property_name]: ", a[property_name]);
console.log("a: ", a);

关于javascript - 使用 Object 作为键总是会产生上次赋值的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53668796/

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