Показать сообщение отдельно
  #16 (permalink)  
Старый 15.05.2020, 08:10
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,760

Сообщение от andypop Посмотреть сообщение
Нельзя поломать то, что уже поломано. И именно в булевых выражениях.
1+ undefined и undefined+1 даст одно и то же NaN. С точки зрения логики ассоциативность в языке не должна влиять на результат булевых выражений . Так что не чушь.
В JS нет понятия ассоциативности. Это не математика.
Все операции выполняются так, как они записаны, с учетом лево или правосторонности.
Операция + ни грамма не ассоциативная.
1+ "0" и "0" + 1

Операции && и || не булевы, а логические. Так они названы в спецификации.
Булевые операции подразумевали бы, что их операнды должны иметь тип boolean и выдавать такой же результат.

Сообщение от andypop
Как допустили, что не булево незначение участвует и влияет причем весьма странным образом в булевых операциях?
Это не незначение, а именно значение.
В JS есть тип undefined (такой же как Number, String, Boolean) с единственным значением undefined
Ответить с цитированием