Javascript字符串对象只读?

Tia*_*HUo 5 javascript string readonly

a=new String("Hello");
Run Code Online (Sandbox Code Playgroud)

字符串(

a[0]==="H" //true
a[0]="J"
a[0]==="J" //false
a[0]==="H" //true
Run Code Online (Sandbox Code Playgroud)

这是否意味着我只能使用字符串作为char的数组.split("")然后.join("")呢?


答案:是的,在Javascript strings are readonly(又名不变)这个问题的答案如下:

Koo*_*Inc 4

字符串是不可变的,所以是的。a如果你想改变字符串,应该重新分配。您还可以使用slice:a = 'j'+a.slice(1)replace: a = a.replace(/^h/i,'j')

您可以创建一个自定义可变String对象,类似于此实验(特别是参见方法replaceCharAt)。