字符串原型更改字符串值

时间:2016-11-20 22:17:11

标签: javascript string prototype

我正在尝试更改其原型类型函数中的字符串值:

anywhere
但是,因为看起来我无法改变价值。如果我尝试在控制台上运行它,我只会收到错误:String.prototype.myfunction=function(){ this += "a"; return this; };

是否可以更改字符串值? 提前致谢

2 个答案:

答案 0 :(得分:3)

我认为这与字符串的不变性以及this是常量这一事实有关。

如果你的例子被简单地改为:

,它就可以了
String.prototype.myfunction=function(){
    return this + 'a';
};

答案 1 :(得分:0)

字符串是不可变的。您可能希望使用一组字符:

class MyString extends Array {
  constructor(str) {
    super(...String(str));
  }
  myfunction() {
    this.push("a");
    return this;
  }
  toString() {
    return this.join('');
  }
}
var s = new MyString("hello!");
s.myfunction();
console.log(s + '');