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

Почему new Array([],null,undefined,null) == «,,,»?

Сообственно сабж. Почему это
new Array([],null,undefined,null) == ",,,";
выдает true?
  • Вопрос задан
  • 134 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
sfi0zy
@sfi0zy Куратор тега JavaScript
Creative frontend developer
А почему бы и нет?
new Array([], null, undefined, null)
это
[ [], null, undefined, null ]
если сделать toString(), получим
',,,'
так почему бы ваше сравнение должно давать не true?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Потому что оператор == приводит операнды к единому типу, в данном случае к строке привести проще, поэтому и true
Операторы === и !== не приводят типы в отличии от их аналогов == и !=, поэтому лучше использовать их в большинстве случаев, так как во-первых, они быстрее, во-вторых меньше неявных багов
Ответ написан
Ваш ответ на вопрос

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

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