在 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));
我有一个从 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));