在 javascript ES6 中向对象 class 添加一个方法

add a method to Object class in javascript ES6

我有一个从 API 响应中获得的对象。现在我想对该对象执行一些操作,我想以原型方式进行。

假设我正在关注对象

const user = {
 name: "Carlos",
 gender: "male"
}

现在我想创建一个原型函数,它可以 运行 直接在对象上。 user.isMale()

如何在 ES6 中实现同样的效果

function User(name, gender) {
  this.name = name;
  this.gender = gender;
}

User.prototype.isMale = function() {
  return this.gender === 'male';
}

const user = new User('john', 'male');
alert(user.isMale());

我建议使用 es6 classes

class User{
    constructor(user = {}){
        this.name = user.name;
        this.gender = user.gender;
    }

    isMale(){
        return this.gender === 'male';
    }
}

let carlos = new User({'carlos', 'male'})

carlos.isMale() // true

如果您检索到这些用户的数组,您就可以用这种方式映射他们。

usersArray = usersArray.map(user => new User(user));