Логический оператор || в javascript, 0 означает Boolean false?

Мне довелось узнать следующий код

Вот код и очень простой:

var test = 0 || -1 ;
console.log(test);

то вывод в консоли -1

и как-то я действительно новичок в javascript,

все, что я думаю о том, что 0 означает Boolean False в JS, поэтому оператор ||, кажется, игнорирует 0 и присваивает значение -1 переменная

так я прав? я просто хочу подтвердить

Ответ 1

  • || - expr1 || expr2 (логическое ИЛИ)

    Возвращает expr1, если он может быть преобразован в true; в противном случае возвращает expr2. Таким образом, при использовании с булевыми значениями || возвращает true, если оба операнда истинны; если оба значения false, возвращает false.

  • && - expr1 && expr2 (логический И)

    Возвращает expr1, если его можно преобразовать в false; в противном случае возвращает expr2. Таким образом, при использовании с булевыми значениями && возвращает true, если оба операнда истинны; в противном случае возвращает false.

Все значения в Javascript являются либо "правдивыми", либо "ложными".
Следующие значения эквивалентны false в условных операторах:

  • ложь
  • NULL
  • undefined
  • Пустая строка "" (\ '')
  • Число 0
  • Число NaN

Все остальные значения эквивалентны true.


Итак... var test = 0 || -1 ; возвращает -1.

Если он был var test = 0 || false || undefined || "" || 2 || -1, он возвратил 2


Логический оператор на MDN