Я только начал изучать JavaScript и прорешивал задачки.
И начали попадаться такие задания как:
• Чему равно 2 && 1 && null && 0 && undefined ?
• Чему равно 0 || "" || 2 || undefined || true || falsе ?
Как можно сравнивать разные типы данных?
Ответ
&& и || это операции логического И и ИЛИ. На вход они принимают два логических операнда и возвращает результат логического типа
В JavaScript нет строгой типизации, поэтому операнды преобразовываются к тому типу, который требуется в выражении.
Т.е. в вашем случае все операнды преобразуются в логический тип.
Алгоритм преобразования такой:
Значение | Преобразуется в...
-----------------|--------------------
undefined, null | false
Числа | Все true, кроме 0, NaN -- false.
Строки | Все true, кроме пустой строки "" -- false
Объекты | Всегда true
Комментариев нет:
Отправить комментарий