JavaScript: сумма двух пустых массивов
какой результат даст сумма двух пустых массивов
Итак, нам нужно сложить в JavaScript два пустых массива [] + []. Будет ли равен полученный результат false?
Чтобы дать верный ответ, прежде всего, необходимо понять, как в JavaScript работает преобразование типов.
Когда мы складываем между собой два пустых массива с помощью оператора +, в первую очередь происходит преобразование каждого массива в строку, после чего полученные строки объединяются (конкатенируются).
Пустой массив [] в результате преобразования дает пустую строку. Несложно догадаться, что суммой пустых строк будет пустая строка.
Теперь, необходимо определиться: будет ли пустая строка равна false?
Если мы используем для сравнения оператор нестрогого равенства == происходит следующее: сначала каждое значение приводится к числу. Таким образом, и пустая строка и false будут преобразованы в 0. После этого происходит сравнение значений, а это означает, что наше равенство будет верным:
console.log([] + [] == false);
// результат: true
Но, если необходимо осуществить строгое сравнение суммы двух пустых массивов и логического значения false, равенство будет неверным, така как оператор строгого равенства === проверяет выражение без приведения типов, а значения, используемые в сравнении в данном случае разных типов (строка и false):
console.log([] + [] === false);
// результат: false
Спасибо за внимание.
