Tho*_*ler 12 javascript string-comparison ecmascript-4
我当前项目中的大多数开发人员使用(对我而言)奇怪的方法来检查ECMAScript中的空字符串:
if (theString.length == 0)
// string is empty
Run Code Online (Sandbox Code Playgroud)
我通常会这样写:
if (theString == "")
// string is empty
Run Code Online (Sandbox Code Playgroud)
后一版本对我来说似乎更具可读性和自然性.
我没有问过任何人似乎能够解释版本1的优点.我想在过去的某个时候有人告诉大家这是做到这一点的方法,但现在那个人离开了,没有人记得为什么要这样做办法.
我想知道为什么我应该在第二个版本中选择第一个版本?重要的是,一个版本比另一个版本好吗?由于某种原因,一个版本更安全还是更快?
(我们实际上是在符合ECMAScript Edition 4的Siebel eScript中执行此操作)
谢谢.
Sho*_*og9 29
我实际上更喜欢使用多种语言的技术,因为有时很难区分空字符串文字""和其他几个字符串(" ",'"').
但是theString == ""在ECMAScript中还有另一个要避免的原因:0 == ""评估true,false == ""以及0.0 == ""......
...所以,除非你知道这theString是实际上是一个字符串,你可能最终使用弱对比致使自己的问题.幸运的是,你可以通过明智地使用严格的equal(===)运算符来避免这种情况:
if ( theString === "" )
// string is a string and is empty
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24981 次 |
| 最近记录: |