背景描述
当前我正在学习Vue源码,发现了和我自己编码习惯不太一样的东西。
在源码中频繁出现charAt
和[]
方式去访问,但是以前访问字符串都没有细想,都直接使用索引[ ]
直接获取的。
这篇文章对两者的区别进行探究。
实验过程
一般情况,我们可能不会区分charAt
和 索引的直接访问,但是这将导致无法区分字符串和数组。
访问不存在值时
const str = "abcd"
console.log(str.charAt(4));
console.log(str[4]);
实验结果
charAt
:打印结果为空字符串[ ]
:undefined
兼容性
[ ]
:不兼容ie6 - ie8charAt
:兼容任意版本
总结
-
在遇到字符串时使用
charAt
访问下标,遇到数组时使用[ ]
访问下标 -
遇到不存在值时
charAt
——空串[ ]
——undefined -
访问字符串时,最好使用charAt,兼容性更好