Выбор ответа Junior Типы и приведение обновлено
Минус и умножение со строками
Вопрос
Что выведет код?
console.log('10' - '4', '10' * '2', 'a' - 1);
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 6 20 NaN. Все арифметические операторы, кроме бинарного +, приводят операнды к числу.
Варианты ответа
6 20 NaNправильный ответ'6' '20' 'a1'6 '1010' NaN- TypeError на
'a' - 1
Разбор
Все арифметические операторы, кроме бинарного +, приводят операнды к числу. '10' - '4' это 6, '10' * '2' это 20. 'a' к числу не приводится, получается NaN, а любая арифметика с NaN даёт NaN. Ошибки нет: JavaScript не бросает исключений при неудачном приведении к числу. Вариант '1010' путает * с повтором строки, такого оператора в JS нет (есть метод repeat).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.