84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
我知道這個問題的答案是它在規範中,但背後的邏輯(如果有的話)是什麼?
Welcome to Node.js v19.0.0. Type ".help" for more information. > !!'' false > !![] true
String,據我了解,實際上是一個數組,添加了一些額外的功能,以使文字更易於使用,但它仍然可以執行所有類似數組的操作,所以為什麼是一個空字串falsey 但空數組是truthy?
String
falsey
truthy
讓我們簡單一點:
!!''
JavaScript 中的空字串被視為「假」值。在布林上下文中求值時,它被視為布林 false。
!![]
數組,無論是否包含項目,在 Javascript 中都被視為「真實」值。在布林上下文中求值時,它們被視為布林 true。
讓我們簡單一點:
JavaScript 中的空字串被視為「假」值。在布林上下文中求值時,它被視為布林 false。
數組,無論是否包含項目,在 Javascript 中都被視為「真實」值。在布林上下文中求值時,它們被視為布林 true。