gpt4 book ai didi

javascript - javascript如何将对象属性名称管理为动态更改的对象?

转载 作者:行者123 更新时间:2023-12-03 03:06:39 25 4
gpt4 key购买 nike

我在 MDN 上查看文档,发现对象属性名称可以是对象(将转换为字符串)。我编写了一个简单的代码来测试它,它起作用了,但是后来更改了被分配为主对象的键的 obj,应该更改结果键(字符串表示形式),因此主对象属性不应该可以通过新对象访问,但是这是可以访问的。

我想知道 javascript 如何管理这个?

var objee = {};
var rajat = "me";
var rand = Math.random();
var ob = new Object();

objee[ob] = "hey";


console.log(ob,objee[ob]);//javascript is converting the Object key to string using Object.toString().

ob.name = "rajat";

// Why this property is still accesible if the "ob" has changed now..and resulted string is changed,thus key changed?

console.log(ob,objee[ob]);

我知道这个问题很令人困惑。希望你能理解。

最佳答案

对象可能已更改,但其字符串表示形式未更改:

var ob = new Object();
console.log(ob.toString());
ob.name = "foo";
console.log(ob.toString());

…所以它引用的属性名称也没有改变。

关于javascript - javascript如何将对象属性名称管理为动态更改的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47136795/

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