"b" 但是我不能这样做: Object({obj1.a:"c"-6ren">
gpt4 book ai didi

javascript - 为什么在创建新对象时不能引用旧对象

转载 作者:行者123 更新时间:2023-11-29 19:29:40 26 4
gpt4 key购买 nike

在 Chrome 开发控制台中,如果我这样做:

obj1 = Object({"a":"b"})

我能做到:

obj1.a
// -> "b"

但是我不能这样做:

Object({obj1.a:"c"})
// -> throws "Uncaught SyntaxError: Unexpected token ."

为什么?

最佳答案

语法错误是因为在该表示法中不能直接评估对象键。你必须做这样的事情:

obj2 = {};
obj2[obj1.a] = 'c';
obj2[obj1.a];

更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects

在更深层次上发生的事情是 { } 语法使用对象初始值设定项来构造对象。语法的属性名称需要名称、数字或字符串文字。另一个对象的评估不符合此要求。

关于javascript - 为什么在创建新对象时不能引用旧对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28687912/

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