javascript - 为什么 Firefox 控制台只引用一些对象键?
问题描述
我正在学习 JavaScript 中的计算属性。我列出了我最喜欢的棒球队的球员名单,并尝试使用对象文字。有些职位显示为字符串,有些则不是?有人对此有解释吗?我唯一的猜测是它与 Mozilla 控制台有关。
const position1 = "Pitcher";
const position2 = "Catcher";
const position3 = "First Base";
const position4 = "Second Base";
const position5 = "Third Base";
const position6 = "Shortstop";
const position7 = "Left Field";
const position8 = "Center Field";
const position9 = "Right Field";
const player1 = "Jacob deGrom";
const player2 = "Wilson Ramos";
const player3 = "Pete Alonso";
const player4 = "Robinson Cano";
const player5 = "Jeff Mcneil";
const player6 = "Amed Rosario";
const player7 = "JD Davis";
const player8 = "Brandon Nimmo";
const player9 = "Michael Conforto";
const team = {
[position1]: player1,
[position2]: player2,
[position3]: player3,
[position4]: player4,
[position5]: player5,
[position6]: player6,
[position7]: player7,
[position8]: player8,
[position9]: player9,
};
控制台输出如下:
Catcher: "Wilson Ramos"
"Center Field": "Brandon Nimmo"
"First Base": "Pete Alonso"
"Left Field": "JD Davis"
Pitcher: "Jacob deGrom"
"Right Field": "Michael Conforto"
"Second Base": "Robinson Cano"
Shortstop: "Amed Rosario"
"Third Base": "Jeff Mcneil"
<prototype>: Object { … }
</p>
解决方案
引号中显示的所有属性名称都是点表示法无效的名称,在您的情况下,所有带有空格的属性名称。
例如,obj.Catcher = "something"
有效,但obj.Center Field
会产生语法错误,并且只能使用方括号来设置或访问此类属性,即obj["Center Field"]
.
另请参阅:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors
推荐阅读
- javascript - 鼠标单击时在多个对象上选择 Fabricjs
- youtube - 用于嵌入 2019/2020 的永久流现在链接
- xcode - 尝试在 Xcode 中打开我的反应原生项目以构建 IPA 时文件丢失
- html - 将鼠标悬停在 div 上时,如何触发链接上的多个悬停动作?
- r - “数据和参考应该是同一水平的因素”,在决策树上进行交叉验证
- jquery - 使用 jQuery 将字符串替换为 div 中的 HTML
- c++ - Arduino/C++ 正确使用指针的方法
- c++ - 插入时同时遍历地图,以何种方式不安全
- javascript - 给每个元素一个不同的文本(循环,数组)
- objective-c - 目标 C 字典不返回相同的数字