Boolean +
Преобразование типов
// true или false
true;
false;
true;
false;
// приведение к boolean
Boolean(''); // false - пустая строка
Boolean(' '); // true - пробел
Boolean('abc'); // true
// числа
Boolean(1); // true
Boolean(123); // true
Boolean(-10); // true
Boolean(0); // false - ноль
Boolean('0'); // true - так как непустая строка
// спец. типы
Boolean(Infinity); // true
Boolean(NaN); // false
Boolean(null); // false
Boolean(undefined); // false
Boolean(NaN); // false
// объекты, массивы и функции
Boolean({}); // true
Boolean([]); // true
Boolean(() => null); // true
// boolean в строку
`${true}`; // 'true'
true.toString(); // 'true'
// boolean в число
+true; // 1
+false; // 0
Логические операторы
Логическое И (логическое умножение) - вернется последний (правый) трушный, если все трушные. Вернется первый (левый) фолсный, даже если все остальные трушные
// проверка слева-направо
// Вернётся всегда самый правый элемент, если все true
'1' && '2' && '3'; // '3'
'123' && 123; // 123
[] && {}; // {}
// Если при проверке какой-то элемент false, то он и вернётся - "логическое И вспотыкается об ложь"
true && false && true; // false
'abc' && '' && null; // ''
'abc' && ' ' && null; // null