gpt4 book ai didi

javascript - 对对象属性输出感到困惑

转载 作者:行者123 更新时间:2023-11-30 12:20:51 26 4
gpt4 key购买 nike

我对编程和学习 JavaScript 以及尝试理解对象和属性名称还很陌生。在以下示例(来自 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors)中,类(class)指出此代码(下方)输出“值”,因为 foo 和 bar 都转换为相同的字符串。我知道属性必须是字符串,并且数字会自动输入为字符串,但我不明白为什么 foo 和 bar 都解析为“值”。对我来说,似乎最后一行代码应该解析为“2”,因为 var bar = 2。我错过了什么?谢谢!

var foo = {unique_prop: 1}, bar = {unique_prop: 2}, object = {};
object[foo] = 'value';
console.log(object[bar]);

最佳答案

I understand that a property must be a string and that a number will automatically be typed as a string

是的,键必须是一个字符串。如果不是,则您传递的任何内容都将转换为字符串,包括对象。你可以阅读你写的内容:

object[foo.toString()] = 'value'

字符串化的对象为您提供'[object Object]'。所以实际上,您将添加和检索相同的 key :

{'[object Object]': 'value'}

关于javascript - 对对象属性输出感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31149282/

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