Что выведет код Junior Типы и приведение обновлено

Массивы в арифметике

Вопрос

Что выведет код? По строке на каждый вывод.

console.log([2] * [3]);
console.log([1, 2] + [3]);
console.log(+[]);
console.log(+[1, 2]);

Попробуйте сами

Напишите, что выведет код: каждый вывод с новой строки.

Показать ответ и разбор

Коротко

Код выведет: 6, 1,23, 0, NaN. Массив приводится к примитиву через toString, который склеивает элементы через запятую. [2] [3] становится '2' '3', умножение приводит к числам: 6. [1, 2] + [3] это '1,2' + '3', плюс со строками склеивает: 1,23. +[] это +'', пустая строка…

Что выведет

6
1,23
0
NaN

Разбор

Массив приводится к примитиву через toString, который склеивает элементы через запятую. [2] * [3] становится '2' * '3', умножение приводит к числам: 6. [1, 2] + [3] это '1,2' + '3', плюс со строками склеивает: 1,23. +[] это +'', пустая строка даёт 0. +[1, 2] это +'1,2', такая строка не число: NaN.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме