gpt4 book ai didi

javascript - 在 ECMAScript 中检查空字符串时,为什么我应该使用 string.length == 0 而不是 string == ""?

转载 作者:可可西里 更新时间:2023-11-01 01:57:20 24 4
gpt4 key购买 nike

我当前项目的大多数开发人员使用(对我来说)奇怪的方式来检查 ECMAScript 中的空字符串:

if (theString.length == 0)
// string is empty

我通常会这样写:

if (theString == "")
// string is empty

后一个版本对我来说更具可读性和自然性。

我问过的人似乎都无法解释版本 1 的优点。我猜想在过去的某个时候有人告诉每个人这是这样做的方法,但现在那个人离开了,没有人记得为什么要这样做这样做。

我想知道为什么我应该选择第一个版本而不是第二个版本?有关系吗,一个版本比另一个版本好吗?出于某种原因,一个版本是否更安全或更快?

(我们实际上是在符合 ECMAScript Edition 4 的 Siebel eScript 中执行此操作的)

谢谢。

最佳答案

我实际上在许多语言中更喜欢这种技术,因为有时很难区分空字符串文字 "" 和其他几个字符串(""'"').

但是在 ECMAScript 中避免 theString == "" 还有另一个原因:0 == "" 求值为 truefalse == ""0.0 == ""...

...因此,除非您知道 theString实际上是一个字符串,否则您最终可能会因为使用 weak 给自己带来问题比较。幸运的是,您可以通过明智地使用严格等于 (===) 运算符来避免这种情况:

if ( theString === "" )
// string is a string and is empty

另见:

关于javascript - 在 ECMAScript 中检查空字符串时,为什么我应该使用 string.length == 0 而不是 string == ""?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1829611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com