Что выведет код Junior Типы и приведение обновлено
Строки неизменяемы
Вопрос
Что выведет код? По строке на каждый вывод.
'use strict';
let s = 'abc';
try { s[0] = 'z'; } catch (e) { console.log(e.constructor.name); }
console.log(s);
console.log(s.toUpperCase(), s);
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: TypeError, abc, ABC abc. Почему так Строка - примитив: присваивание по индексу в обычном режиме молча игнорируется, в строгом бросает TypeError.
Что выведет
TypeError
abc
ABC abc
Разбор
Почему так
Строка - примитив: присваивание по индексу в обычном режиме молча игнорируется, в строгом бросает TypeError. Все методы строк возвращают новое значение, исходное не меняется.
Вывод
TypeError
abc
ABC abc
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.