Réagissez aux classes ES6


Des classes

ES6 a introduit des classes.

Une classe est un type de fonction, mais au lieu d'utiliser le mot-clé functionpour l'initier, nous utilisons le mot-clé classet les propriétés sont assignées à l'intérieur d'une constructor()méthode.

Exemple

Un constructeur de classe simple :

class Car {
  constructor(name) {
    this.brand = name;
  }
}

Remarquez la casse du nom de la classe. Nous avons commencé le nom, "Car", par un caractère majuscule. Il s'agit d'une convention de nommage standard pour les classes.

Vous pouvez maintenant créer des objets à l'aide de la classe Car :

Exemple

Créez un objet appelé "mycar" basé sur la classe Car :

class Car {
  constructor(name) {
    this.brand = name;
  }
}

const mycar = new Car("Ford");

Remarque : La fonction constructeur est appelée automatiquement lorsque l'objet est initialisé.


w3schools CERTIFIED . 2022

Obtenir une certification!

Complétez les modules React, faites les exercices, passez l'examen et devenez certifié w3schools !!

95 $ S'INSCRIRE

Méthode en classe

Vous pouvez ajouter vos propres méthodes dans une classe :

Exemple

Créez une méthode nommée "présent":

class Car {
  constructor(name) {
    this.brand = name;
  }
  
  present() {
    return 'I have a ' + this.brand;
  }
}

const mycar = new Car("Ford");
mycar.present();

Comme vous pouvez le voir dans l'exemple ci-dessus, vous appelez la méthode en vous référant au nom de la méthode de l'objet suivi de parenthèses (les paramètres iraient à l'intérieur des parenthèses).


Héritage de classe

Pour créer un héritage de classe, utilisez le mot- extends clé.

Une classe créée avec un héritage de classe hérite de toutes les méthodes d'une autre classe :

Exemple

Créez une classe nommée "Model" qui héritera des méthodes de la classe "Car":

class Car {
  constructor(name) {
    this.brand = name;
  }

  present() {
    return 'I have a ' + this.brand;
  }
}

class Model extends Car {
  constructor(name, mod) {
    super(name);
    this.model = mod;
  }  
  show() {
      return this.present() + ', it is a ' + this.model
  }
}
const mycar = new Model("Ford", "Mustang");
mycar.show();

La super()méthode fait référence à la classe parent.

En appelant la super()méthode dans la méthode constructeur, nous appelons la méthode constructeur du parent et obtenons l'accès aux propriétés et aux méthodes du parent.

Pour en savoir plus sur les classes, consultez notre section Classes JavaScript .