Задать вопрос
@Dutymy

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

Здравствуйте, почему alert([] + true + false - null ) будет NaN но
alert(true + false - null + [] ) 1
  • Вопрос задан
  • 157 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 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"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы