Javascript有许多可以在其上执行的字符串操作操作。所以我们有concat(),slice(),match()等方法
我的问题是所有这些字符串操作方法是否返回一个新的字符串值作为结果或是否有一些方法实际修改了方法中使用的实际字符串?
答案 0 :(得分:3)
JavaScript(和许多其他语言)中的字符串被实现为不可变对象。这有一些有益的特性:
这也意味着所有字符串方法必须返回一个新字符串,如果它们旨在修改原始值。
答案 1 :(得分:0)
返回值是原始字符串的克隆。
换句话说,调用concat, match
或slice
不会修改原始字符串。
您始终可以参考MDN reference获取文档
但是,引用来源
<强>的毗连强>
合并两个或多个字符串的文本并返回新字符串。
答案 2 :(得分:0)
字符串是不可变的,一旦创建它们甚至不能再次修改。
与C语言不同,JavaScript字符串是不可变的。这意味着一旦创建了一个字符串,就无法对其进行修改。但是,仍然可以基于对原始字符串的操作创建另一个字符串,例如,原始的子字符串(通过选择单个字母或使用String.substr())或使用连接运算符连接两个字符串(+)或String.concat()。
因此,是的。每个String操作都返回一个新的String