str[0]和str.charAt(0)之间的区别

5
什么是 str[0]str.charAt(0) 的区别?我通常通过输入 str[i] 来访问特定字符,其中 i 是我想要访问的字符的索引(从 0 开始计数),但上周我对开源 JS 代码有了很好的概述,在每个项目中我都看到人们使用 charAt 方法。

这两种方式之间有什么区别吗?


字符串 101 - https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String - Prasanth
2个回答

6
[]是一种更原始的访问各种数组的方式。 charAt()只适用于字符串。
您可以使用[]访问任何数组的索引,但只能在字符串上使用charAt()
但是,仅限于字符串时,两者是相同的。
但是,您应该使用charAt(),因为它在所有主要浏览器中都得到了良好的支持,而括号表示法将在IE7中返回未定义
此外,括号表示法很简单易懂,而charAt()会进行一些验证,并且不会返回未定义,而是将返回一个空字符串“”

现在还有人关心IE7吗,不考虑使用charAt而选择[]吗? - wol

4

This

""[-4]          // undefined

"".charAt(-4)   // ""

你可以确保结果是一个字符串。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接