Warm tip: This article is reproduced from serverfault.com, please click

javascript-在ES6中扩展String类

(javascript - Extend a String class in ES6)

发布于 2015-05-15 11:05:07

我可以在ES5中编写以下内容:

String.prototype.something=function(){
  return this.split(' ').join('');
};

如何使用新功能在ES6中做同样的事情?

我知道这也是有效的ES6。我想知道在ES6中是否还有其他实现此类功能的方法?
上面的功能只是一个例子。

Questioner
ritz078
Viewed
0
AWolf 2015-05-15 21:01:48

在ES6中,你也可以这样操作Object.assign()

Object.assign(String.prototype, {
    something() {
        return this.split(' ').join();
    }
});

你可以在此处找到有关该方法的更多信息

或者你可以使用defineProperty(我认为这会更好):

Object.defineProperty(String.prototype, 'something', {
    value() {
        return this.split(' ').join();
    }
});

请参阅此处的文档

见我的评论看的时候使用definePropertyVS Object.assign()