在写上一篇文章的时候,发现这样一个情况:
let iterable = {
a: '111',
b: '222',
c: '333',
};
for (let temp of Object.keys(iterable)){
console.log(temp); // a,b,c
console.log(iterable[temp]); // 111,222,333
console.log(iterable.temp); // undefined,undefined,undefined
}
为什么最后iterable.temp输出三个undefined?
- 通过.方式获取属性值,key是静态的
- 通过[]获取属性值, key是动态的,可以是字符串,或者数字的形式
本文探讨了JavaScript中对象属性的不同访问方式,重点对比了通过点符号与方括号获取属性值的区别,解释了为何在某些情况下会出现undefined的问题。

被折叠的 条评论
为什么被折叠?



