Cette fonction, proposition pour ECMAScript 6 (Harmony), est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.
Résumé
Le mot-clé constructor définit une méthode qui est utilisée pour créer et initialiser un objet lorsqu'on utilise le mot clé class.
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.
Exemples
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;
}
}
Spécifications
| Spécification | Statut | Commentaires |
|---|---|---|
| ECMAScript 6 (ECMA-262) La définition de 'constructor' dans cette spécification. |
En cours de validation comme recommandation | Définition initiale. |
Compatibilité des navigateurs
| Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Support simple | 42.0 | Disponible uniquement via le canal Nightly (depuis février 2015) | ? | ? | ? |
| Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Support simple | ? | 42.0 | Disponible uniquement via le canal Nightly (depuis février 2015) | ? | ? | ? |
Notes spécifiques à Firefox
- Les constructeurs par défaut ne sont pas encore implémentés (bug 1105463)