微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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?

原文地址:https://www.jb51.cc/js/153914.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐