J'ai un objet que j'obtiens de la réponse d'API. Maintenant, je veux effectuer une opération sur cet objet et je veux le faire de manière prototype.

Disons que je reçois l'objet suivant

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

Maintenant, je veux créer une fonction prototype qui peut s'exécuter directement sur un objet comme. user.isMale()

Comment puis-je obtenir la même chose dans ES6

0
Carlos 19 oct. 2020 à 16:11

2 réponses

Meilleure réponse

Je recommanderais d'utiliser classes es6

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

Et si vous récupérez un tableau de ces utilisateurs, vous pouvez les mapper de cette manière.

usersArray = usersArray.map(user => new User(user));
3
toms 19 oct. 2020 à 13:22
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());
0
Thunderbolt Engineer 19 oct. 2020 à 13:18