gpt4 book ai didi

javascript - object[foo] 术语是什么意思?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:27:13 25 4
gpt4 key购买 nike

我不明白 object[foo] 术语指的是什么。有什么提示吗?我知道 bar['unique_prop']bar.unique_prop 指的是 2

    var foo = {unique_prop: 1};
var bar = {unique_prop: 2};
var object = {};
object[foo] = 'value';
alert(object[bar]);

code on jsfiddle

最佳答案

这个:

var foo = 'abc';
object[foo]

相当于:

object.abc

但是这样:

var foo = {unique_prop: 1};
object[foo] = 'value';

没有多大意义(对象属性名称不能是对象字面量)。 JS 引擎将使用 foo.toString()(返回例如 [object Object]"),所以实际上您正在这样做:

var foo = {unique_prop: 1};
object["[object Object]"] = 'value';

这显然是错误或误解。 Member Operators 中解释了此行为在 MDN :

Property names must be strings. This means that non-string objects cannot be used as keys in the object. Any non-string object, including a number, is typecasted into a string via the toString method.

但是您可以使用:

object[foo.unique_prop] = 'value';

相当于:

object[1] = 'value';

关于javascript - object[foo] 术语是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9095779/

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