Строки изменяются в js
Строки в js неизменяемы. Только вот почему у меня она изменяется в функции?
const ucFirst = (str) => {
str = 'Лена'
return str
}
console.log(ucFirst('Вася'));
Ответы (1 шт):
Автор решения: vsemozhebuty
→ Ссылка
Вы не изменили строку, вы просто присвоили переменной другое значение, присвоили новую строку вместо прежней.
Возможные примеры неизменяемости строк:
const str = 'Лена';
str[0] = 'Г';
console.log(str); // Всё ещё 'Лена', а не 'Гена'.
str.length = 2;
console.log(str); // Всё ещё 'Лена', а не 'Ле'.
const newStr = str.toUpperCase();
console.log(str); // Всё ещё 'Лена', а не 'ЛЕНА'.
console.log(newStr); // 'ЛЕНА', но это другая строка в другой переменной.
В строгом режиме ('use strict';) эти попытки вызывают исключения (ошибки).