如果字符串在javascript中是不可变的,那么如何更改原始字符串?

如果字符串在javascript中是不可变的,那么如何更改原始字符串?,javascript,string,Javascript,String,正如我听说的,字符串在JavaScript中是不可变的,那么如何更改原始字符串呢 据我所知 变量名称='Alto';//它将在全局空间内存中使用“alto”创建一个新对象,并指定给名称引用 名称='swift';//它将在全局空间内存中创建一个新对象,并将“swift”指定给名称引用只要可能,Alto'字符串对象将被移动到垃圾收集器 var newName=name.slice0,2;//在这里,从“swift”拼接“sw”,在全局空间中创建一个新对象并分配给newName。由于字符串是不可变的

正如我听说的,字符串在JavaScript中是不可变的,那么如何更改原始字符串呢

据我所知 变量名称='Alto';//它将在全局空间内存中使用“alto”创建一个新对象,并指定给名称引用

名称='swift';//它将在全局空间内存中创建一个新对象,并将“swift”指定给名称引用只要可能,Alto'字符串对象将被移动到垃圾收集器

var newName=name.slice0,2;//在这里,从“swift”拼接“sw”,在全局空间中创建一个新对象并分配给newName。由于字符串是不可变的,名称将具有“swift”

var newName1=name.0,2;//这里从“swift”原始字符串中剪切“sw”并分配给newName。现在名称将有“ift”。那么字符串如何是不可变的呢


有人能解释一下拼接背后的过程吗?

它们是不可变的。不能使用var myString=abbdef;myString[2]=“c”。trim、slice等字符串操作方法返回新字符串。

不可变?这是否意味着它不能像常量一样更改?splice不是String的方法。PrototypeString上没有splice方法。对名称进行切片不会更改名称。也许你可以写一个输入错误的@RobG。现在更改了内容。你是否尝试过“someString”。1?它将抛出一个错误。