搜尋

首頁  >  問答  >  主體

為什麼空字串是假的,而空數組卻不是?

我知道這個問題的答案是它在規範中,但背後的邏輯(如果有的話)是什麼?

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

String,據我了解,實際上是一個數組,添加了一些額外的功能,以使文字更易於使用,但它仍然可以執行所有類似數組的操作,所以為什麼是一個空字串falsey 但空數組是truthy

P粉710478990P粉710478990475 天前582

全部回覆(1)我來回復

  • P粉309989673

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

    讓我們簡單一點:

    !!''

    JavaScript 中的空字串被視為「假」值。在布林上下文中求值時,它被視為布林 false。

    !![]

    數組,無論是否包含項目,在 Javascript 中都被視為「真實」值。在布林上下文中求值時,它們被視為布林 true。

    回覆
    0
  • 取消回覆