Javascript 将新值设置为str.charAt()
我试图用一个新字符在字符串的某个索引处设置一个字符的值,我想知道使用charAt()方法是否可行。像这样的Javascript 将新值设置为str.charAt(),javascript,string,indexing,char,charat,Javascript,String,Indexing,Char,Charat,我试图用一个新字符在字符串的某个索引处设置一个字符的值,我想知道使用charAt()方法是否可行。像这样的str.charAt(1)将首先返回字符串“e” let str = "hello"; str.charAt(1) = 'a'; str.charAt(1)然后将返回字符串“a” 我的预期结果是新字符串读作“hallo”。但这会导致一个未捕获的引用错误:赋值中的左侧无效。那么,使用这种方法是不可能的吗?是字符串原型上的一个函数,您正试图用这种语法覆盖它charAt()将返回索引处的字符,它
str.charAt(1)
将首先返回字符串“e”
let str = "hello";
str.charAt(1) = 'a';
str.charAt(1)
然后将返回字符串“a”
我的预期结果是新字符串读作“hallo”。但这会导致一个未捕获的引用错误:赋值中的左侧无效。那么,使用这种方法是不可能的吗?是字符串原型上的一个函数,您正试图用这种语法覆盖它charAt()
将返回索引处的字符,它是getter,而不是setter;因此,您需要定义自己的自定义方法来实现这一点,可以通过定义下面的snippet之类的纯函数,也可以通过在String.prototype
上定义它来实现,这样您就可以在任何字符串上使用它
let str=“hello”;
函数替换索引(str、索引、字母){
让modifiedStr=[…str];
修改器[索引]=字母;
返回modifiedStr.join(“”)
}
log(replacestrandex(str,1,'a'))
您不能在JavaScript中改变字符串。您只能创建一个新的变量,并将其显式分配回str
变量检查此答案是否回答了您的问题?是的。谢谢,我知道它们是不变的