我当前项目中的大多数开发人员使用(对我)奇怪的方法来检查ECMAScript中的空字符串:
if (theString.length == 0) // string is empty
我通常会这样写:
if (theString == "") // string is empty
后一版本对我来说似乎更加可读和自然.
没有人问我似乎能够解释版本1的优点.我想在过去的某个时候,有人告诉大家这是这样做的方式,但现在那个人离开了,没有人记得为什么要这样做办法.
我想知道是否有理由选择第二版的第一版?是否重要,一个版本比另一个版本好吗?某个版本是否更安全或更快?
(我们实际上在符合ECMAScript Edition 4的Siebel eScript中执行此操作)
谢谢.
解决方法
我实际上喜欢这种技术在许多语言中,因为有时候很难区分一个空字符串文字“”和其他几个字符串(“”,“”“).
但是还有一个原因可以避免在ECMAScript中的“==”“= == ==”“评估为true,因为false ==”“和0.0 ==”“…
…所以除非你知道theString实际上是一个字符串,否则可能会导致使用弱比较对自己造成问题.幸运的是,您可以通过严格使用严格的(===)运算符来避免这种情况:
if ( theString === "" ) // string is a string and is empty
也可以看看:
> What is the best way to check for an empty string in JavaScript?