Skip to content
字数
199 字
阅读时间
1 分钟

先看测试用例:

js
var stooge = {
    "first_name" : "Jeo",
    "second_name" : "Mike"
};
var copy = {
    first_name : "Jeo",
    second_name : "Mike"
};
if (stooge.first_name === copy.first_name) document.write('I am right');
else document.write('Wrong!');
// 结果为 right

此时,调用对象 stooge 的属性名的时候,有两种写法:

  • 第一种 stooge.first_name    还是 stooge."first_name"  ?
  • 第二种 stooge[first_name]  还是 stooge["first_name"] ?

实验结果表明:

第一种 stooge.first_name
应该这么写,也就是说,这种写法也是默认支持不用引号括起来属性名

第二种 stooge["first_name"]
此种写法类似数组,一定要在 [] 中加入对应有引号的字符串,才能识别出键

这意味着下面这种写法是错误的:

js
const arr = Object.keys(stooge); // [ 'first_name', 'second_name' ]
const v = arr[0]; 
console.log(typeof v) // string
console.log(stooge.v)  // undefined

贡献者

The avatar of contributor named as jiechen jiechen

页面历史

撰写