Страницы

Поиск по вопросам

понедельник, 1 апреля 2019 г.

&& и || с разными типами данных

Я только начал изучать JavaScript и прорешивал задачки.
И начали попадаться такие задания как: • Чему равно 2 && 1 && null && 0 && undefined ? • Чему равно 0 || "" || 2 || undefined || true || falsе ?
Как можно сравнивать разные типы данных?


Ответ

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

Комментариев нет:

Отправить комментарий