下面这块代码,key的命名标准可以使用obj.name的方式获取到value
let obj = {
name: "xiaoming",
age: "16"
}
console.log(obj.name) // xiaoming
如果是Key是数字+字符串并且不加引号,则报错
let obj = {
name: "xiaoming",
16age: 16,
}
浏览器报错:Uncaught SyntaxError: Invalid or unexpected token
如果键值以数字开头或者是纯数字取值就要用中括号取值,否则就会报错。
let obj = {
name: "xiaoming",
"16age": 16,
123: 456,
"123": 123
}
console.log(obj.16age) // 报错
console.log(obj[name]) // undefined
console.log(obj['name']) // xiaoming
console.log(obj["16age"]) // 16
console.log(obj[123]) // 123
console.log(obj["123"]) // 123 纯数字带不带引号都会被视为同一个值,下面的"123"会把上面的123覆盖掉,所以数字取值的时候中括号里面带不带引号都可以
总结:带引号与不带引号的区别在于命名是否是字母开头,如果不是取值就要用中括号取值,当然字母也可以像上面那种方法中括号取值。