Равна ли сумма двух пустых массивов false
?
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Чтобы проанализировать этот тест, нам нужно понимать как работает преобразование типов в JavaScript.
Когда мы пытаемся сложить два массива используя оператор +
, массивы сначала становятся строками, а потом складываются.
Пусто массив []
становится пустой строкой после первого преобразования. А сумма двух пустых строк — тоже пустая строка.
И, мы приходим к финальному вопросу:
Равна ли в JavaScript пуста строка
false
или нет?
В тесте для сравнения используется оператор ==
. Этот оператор выполняет нестрогое сравнение
. Это значит, что под капотом JavaScript сначала выполнит приведение типов операндов, а потом — сравнение.
В нашем случае пустая строка и false
считаются равными, потому что оба будут приведены к числу 0
и условие внутри if
будет равно true
.
Если тебе нужно выполнить строгое сравнение, которое сначала проверит совпадение типов операндов в JavaScript, то используй оператор ===
.
Тут, ты можешь найти больше информации о базовой математике JavaScript.
ОТВЕТ: на экран будет выведена строка same
.