!!''false>!![]trueString ist, wie ich es verstehe, eigentlich ein Array mit einigen zusätzlichen Funktionen, die hinzugefügt wurden, um die Verwendung des Textes zu vereinfachen, aber es kann weiterhin alle Array-ähnlichen Operationen ausführen. Warum ist also eine leere Zeichenfolge falsch?">
Ich weiß, die Antwort auf diese Frage istsie 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
?
让我们简单一点:
JavaScript 中的空字符串被视为“假”值。在布尔上下文中求值时,它被视为布尔 false。
数组,无论是否包含项目,在 Javascript 中都被视为“真实”值。在布尔上下文中求值时,它们被视为布尔 true。