JavaScript не является строго типизированным языком, как, например, Java.
Как мы знаем, он конвертирует значение результата в зависимости от контекста:
"2" + "3"
Результаты "23"
"2" * "3"
Результаты 6
Это совершенно ясно и хорошо для понимания.
Я только что попробовал следующие выражения и запутался:
true && 1
результаты 1
true || 1
результаты true
Почему первый дает номер, а второй дает логическое значение?
Учитывая правила преобразования JavaScript, я ожидаю получить значения boolean
в обоих случаях из-за boolean
контекста выражения.