javascript – 在ECMAScript中检查空字符串时,为什么要在string ==“”上使用string.length == 0?

前端之家收集整理的这篇文章主要介绍了javascript – 在ECMAScript中检查空字符串时,为什么要在string ==“”上使用string.length == 0?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我当前项目中的大多数开发人员使用(对我)奇怪的方法来检查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?

猜你在找的JavaScript相关文章