Heim  >  Fragen und Antworten  >  Hauptteil

Warum ist eine leere Zeichenfolge falsch, ein leeres Array jedoch nicht?

Ich weiß, die Antwort auf diese Frage ist sie steht in der Spezifikation, aber was ist die Logik dahinter (falls vorhanden)?

Welcome to Node.js v19.0.0.
Type ".help" for more information.
> !!''
false
> !![]
true

String,据我了解,实际上是一个数组,添加了一些额外的功能,以使文本更易于使用,但它仍然可以执行所有类似数组的操作,所以为什么是一个空字符串falsey 但空数组是truthy?

P粉710478990P粉710478990407 Tage vor534

Antworte allen(1)Ich werde antworten

  • P粉309989673

    P粉3099896732023-09-09 10:04:31

    让我们简单一点:

    !!''

    JavaScript 中的空字符串被视为“假”值。在布尔上下文中求值时,它被视为布尔 false。

    !![]

    数组,无论是否包含项目,在 Javascript 中都被视为“真实”值。在布尔上下文中求值时,它们被视为布尔 true。

    Antwort
    0
  • StornierenAntwort