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

Унарный плюс и приведение

Вопрос

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

console.log(+'42');
console.log(+'');
console.log(+'4px');
console.log(parseInt('4px'));
console.log(Number(null), Number(undefined));

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

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

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

Коротко

Код выведет: 42, 0, NaN, 4, 0 NaN. Почему так Number/унарный плюс требуют, чтобы вся строка была числом (пустая строка → 0). parseInt читает префикс.

Что выведет

42
0
NaN
4
0 NaN

Разбор

Почему так

Number/унарный плюс требуют, чтобы вся строка была числом (пустая строка → 0). parseInt читает префикс. Number(null) === 0, Number(undefined) === NaN.

Вывод

42
0
NaN
4
0 NaN

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

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

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