发现了一个非常奇怪的现象,不明所以。特请教大神,求解答!
首先定义了如下一个普普通通的JS对象:
const obj = {
a: 'string0',
b: 'string1',
c: 'string2',
d: 'string3'
}
然后通过以下方法,分别访问对象的属性
//方法一:
console.log(obj.a); //"string0"
//方法二:
console.log(obj["a"]); //"string0"
//方法三:
const prop1 = "a";
console.log(obj[prop1]); //"string0"
//方法四:
const prop2 = ["a"];
console.log(obj[prop2]); //"string0"
上述第一、二、三种访问对象属性的方法,都没什么稀奇的。
但是无意间发现,第四种方法也能正确访问对象的属性,这是为什么呢?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…