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