平时在访问对象时我们常用点( . )和中括号( [ ] )这两种方式,点的话好理解,但用中括号时往往会犹豫到底要不要加引号,如果你也有这个问题,这篇文章或许能够帮助你
1. 第一种方式 —— 点( . )
用点(.)访问 obj 对象中的 add 属性:
const obj = {
add: '添加'
}
console.log(obj.add) // 添加
用点(.)访问很简单,也很容易理解,下面进入正题
2. 第二种方式 —— 中括号( [ ] )
-
使用引号的情况:直接访问对象中的属性要加引号。
const obj = { add: '添加' } console.log(obj["add"]) // 添加 // add 一定要加引号,如果不加引号且没有定义 add 会报错,提示没有定义 add // 如果你定义了 add , 但不加引号,则结果为 undefined , 如下: const add = '' console.log(obj[add]) // undefined -
不用引号的情况:将要访问的属性赋值给一个变量,中括号中使用这个变量不需要加引号
const n = 'add' // add 一定要加引号,不然会报错提示 add is not defined,就是没有定义的意思 console.log(obj[n]) // 添加 ,等价于 obj["add"]可以这么理解,因为
n = 'add', 所以obj[n] = obj["add"],这样的话又回到了第一种使用引号的情况,因此不用引号只是因为将带有引号的属性赋值给了一个变量而已。好了,本篇文章就到这里,希望对你们有帮助。