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?

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...