@Dutymy

Почему alert([] + true + false — null ) и alert(true + false — null + [] ) ведут себя по разному?

Здравствуйте, почему alert([] + true + false - null ) будет NaN но
alert(true + false - null + [] ) 1
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
Потому что на самом деле так:
[].toString() + true + false - null
"" + true // "true"
"" + true + false // "truefalse"
"" + true + false - null // NaN

Если один из операндов + не строка, то это не конкатенация и true, false, null будут преобразованы к числам.
true + false - null + [].toString()
1 + 0 // 1
1 + 0 - 0 // 1
1 + 0 - 0 + "" // "1"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы