- 字符串的不可变性,意味着一旦创建,它们的值就不能变了。
"apple" = "banana"; // 语法错误 - 但是可以通过给变量整体赋值,改变变量所代表的字符串。
let str = "apple"; str = "banana"; console.log(str); // 成功改变str的值- 注意:不能通过
str[0] = "a";的形式进行子字符串的赋值,是无效的。str[0] = "c"; console.log(str); // banana (未改变str的值)
- 注意:不能通过
不可变性在字符串方法上的体现
toUpperCase()
str[0].toUpperCase();
console.log(str); // banana (未改变str的值)
但是可以通过字符串方法(toUpperCase())产生子字符串的副本并赋给新的变量
firstLetter = str[0].toUpperCase();
console.log(firstLetter);
- 首字母大写
upperStr = str[0].toUpperCase() + str.slice(1); console.log(upperStr); // Banana