我知道有更好的方法来检查空字符串——请耐心等待。
这通常不检查空字符串。我实际上在做类似的事情:
var s = /*who knows?*/;
switch (s.charAt(0)) {
// ...
}
并想知道我是否可以避免执行额外的 if (!s)
。
最佳答案
是的,只要该值是一个有效的字符串。 language spec 的第 15.5.4.4 节说
- Let position be ToInteger(pos).
- Let size be the number of characters in S.
- If position < 0 or position ≥ size, return the empty String.
自 ES3 以来,这没有改变。解释器在字符串函数兼容性方面相当出色。
也就是说,我最近对 charAt
实现了一个窥孔优化到 Closure compiler但我没有优化越界检查,因为编译器往往不会优化被认为是程序员错误的内容。
关于javascript - '' .charAt(0) 是可靠的 '' 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8244688/