Что выведет код 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 ошибок.
Предыдущий вопрос
valueOf и toString при приведении объекта
Следующий вопрос
Булево в нестрогом сравнении