javascript - '' .charAt(0) 是可靠的 '' 吗?

标签 javascript

我知道有更好的方法来检查空字符串——请耐心等待。


这通常检查空字符串。我实际上在做类似的事情:

var s = /*who knows?*/;
switch (s.charAt(0)) {
    // ...
}

并想知道我是否可以避免执行额外的 if (!s)

最佳答案

是的,只要该值是一个有效的字符串。 language spec 的第 15.5.4.4 节说

  1. Let position be ToInteger(pos).
  2. Let size be the number of characters in S.
  3. If position < 0 or position ≥ size, return the empty String.

自 ES3 以来,这没有改变。解释器在字符串函数兼容性方面相当出色。

也就是说,我最近对 ​​charAt 实现了一个窥孔优化到 Closure compiler但我没有优化越界检查,因为编译器往往不会优化被认为是程序员错误的内容。

关于javascript - '' .charAt(0) 是可靠的 '' 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8244688/

相关文章:

javascript - 在 laravel 中使用 ajax 显示输入中的数据

javascript - 如何在服务器端使用 d3 库(如 c3.js)在 nodejs 中生成图表?

javascript - 使用 ng-repeat 作为嵌入内容的自定义指令

javascript - 一次提交多个表单将中止所有表单提交,最后一个表单除外

javascript - Canvas 线条先变浅然后变暗

javascript - 数组计数中的唯一值

javascript - 带有小型播放器并控制换行的 Video.js

javascript - jquery 中 .removeClass() 的参数定义是什么

javascript - 如何为CheckedMultiSelect的每个元素添加不同的标题?

javascript - 使用 Objective C 处理嵌入在 json 中的 javascript 代码