La méthode constructor
est une méthode qui est utilisée pour créer et initialiser un objet lorsqu'on utilise le mot clé class
.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
Syntaxe
constructor([arguments]) { ... }
Description
Il ne peut y avoir qu'une seule méthode utilisant le mot-clé constructor
au sein d'une classe. Une exception SyntaxError
sera levée si la classe contient plusieurs méthodes constructor
.
Le constructeur peut utiliser le mot-clé super
afin d'appeler le constructeur de la classe parente.
Si on ne définit pas une méthode constructor
, un constructeur par défaut sera utilisé.
Exemples
Utiliser la méthode constructor
Ce fragment de code est tiré de cet exemple :
class Carré extends Polygone {
constructor(longueur) {
// On utilise le constructeur de la classe parente
// avec le mot-clé super
super(longueur, longueur);
// Pour les classes dérivées, super() doit être appelé avant de
// pouvoir utiliser 'this' sinon cela provoque une exception
// ReferenceError
this.nom = 'Carré';
}
get aire() {
return this.hauteur * this.largeur;
}
set aire(valeur) {
this.aire = valeur;
}
}
Utiliser un constructeur par défaut
Si vous ne définissez pas de méthode constructor
, un constructeur par défaut sera utilisé. Pour les classes de base, le constructeur par défaut sera :
constructor() {}
Pour les classes dérivées, le constructeur par défaut sera :
constructor(...args) {
super(...args);
}
Spécifications
Spécification | Statut | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'constructor' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript (ECMA-262) La définition de 'Constructor Method' dans cette spécification. |
Standard évolutif |
Compatibilité des navigateurs
BCD tables only load in the browser