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

Приведение к числу: пробелы, null, undefined

Вопрос

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

console.log(Number(' 12 '));
console.log(null + 1);
console.log(undefined + 1);
console.log(true + true + '1');
console.log(typeof (1 / 0));

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

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

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

Коротко

Код выведет: 12, 1, NaN, 21, number. Number обрезает пробелы по краям: 12. null к числу даёт 0, поэтому null + 1 это 1. undefined к числу даёт NaN, и undefined + 1 это NaN. true + true это 2 (оба приводятся к числу, строк нет), затем 2 + '1' склеивается в '21'.

Что выведет

12
1
NaN
21
number

Разбор

Number обрезает пробелы по краям: 12. null к числу даёт 0, поэтому null + 1 это 1. undefined к числу даёт NaN, и undefined + 1 это NaN. true + true это 2 (оба приводятся к числу, строк нет), затем 2 + '1' склеивается в '21'. Деление на ноль не ошибка, а Infinity, и его тип number.

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

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

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