При чтении документации JavaScript Я наткнулся на section что спутать меня:.JavaScript логические операторы Внутренности
«Логические операторы, как правило, используется с (логических) значений булевых; когда они, они возвращают логическое значение, однако, операторы & & и || фактически возвращают значение одного из указанных операндов, поэтому, если эти операторы используются с небулевыми значениями, они могут возвращать небулево значение. Логические операторы описаны в следующей таблице.
&& Operator: expr1 && expr2
(логический И) Возвращает expr1, если он может быть преобразован в false; в противном случае возвращает expr2. Таким образом, при использовании с булевыми значениями & & возвращает true, если оба операнда истинны; в противном случае возвращает false.
|| Operator: expr1 || expr2
(логическое ИЛИ) Возвращает expr1, если его можно преобразовать в true; в противном случае возвращает expr2. Таким образом, при использовании с булевыми значениями || возвращает true, если оба операнда истинны; если оба ложны, возвращает ложь «
Допустим, у вас есть:
var a3 = false && true;
так принимая во внимание правила для„ и“оператора, переменная a3 должна содержать истинное значение, так как» ложь "не может быть превращена в ложь.
Ложное может быть преобразовано в ложное тривиально, так как оно уже неверно. – Patashu
Почему «false» не может быть преобразовано в 'false'? 'false' является' false'. – Blender
Истина также может быть преобразована в false. Поэтому все может быть преобразовано в false? –