Неизменяемость

Что напечает на экран последний вызов?

const name = 'Tirion';
console.log(name.toUpperCase()); // => TIRION
console.log(name); // => ?

Ответ на этот вопрос зависит от того, как вы поняли урок про неизменяемость примитивных типов данных. Вызов метода toUpperCase возвращает новое значение, в котором все буквы преобразованы в верхний регистр, но он не меняет (и не может этого сделать) исходную строку. Поэтому внутри константы (или переменной, это не важно) окажется старое значение: 'Tirion'. Эта логика справедлива для всех методов всех примитивных типов. Более того, попытка изменить значение свойства этих данных ни к чему не приведет:

const name = 'Tirion';
console.log(name.length); // => 6
name.length = 100;
console.log(name.length); // => 6

Вместо изменения значения, можно заменить значение. Для этого понадобятся переменные:

let name = 'Tirion';
name = name.toUpperCase();
console.log(name); // => TIRION

Задание

Данные, вводимые пользователями, часто содержат лишние пробельные символы в конце или начале строки. Обычно их вырезают с помощью метода trim, например, было: ' hello\n ', стало: 'hello'. Обновите переменную firstName записав в нее то же самое значение, но обработанное методом trim. Распечатайте то, что получилось на экран.


Нашли ошибку? Есть что добавить? Пулреквесты приветствуютсяhttps://github.com/hexlet-basics

Упражнение доступно только авторизованным пользователям.

Пожалуйста, авторизуйтесь с помощью учётной записи GitHub, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт на GitHub.