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