首页 > 解决方案 > 为什么 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>

标签: javascripthtmlcss

解决方案


引号中显示的所有属性名称都是点表示法无效的名称,在您的情况下,所有带有空格的属性名称。

例如,obj.Catcher = "something"有效,但obj.Center Field会产生语法错误,并且只能使用方括号来设置或访问此类属性,即obj["Center Field"].

另请参阅:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors


推荐阅读