Skip to content Skip to sidebar Skip to footer

Extend A String Class In ES6

I can write the following in ES5: String.prototype.something=function(){ return this.split(' ').join(''); }; How do I do the same thing in ES6 using the new features? I know tha

Solution 1:

In ES6 you can also do it with Object.assign() like this:

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

You can find more info to the method here.

Or you could use defineProperty (I think that would be better here):

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

See the docs here.

See my comment to see when to use defineProperty vs Object.assign().


Post a Comment for "Extend A String Class In ES6"