static

par 1 contributeur :

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.

Le mot-clé static permet définir une méthode statique d'une classe. Les méthodes statiques ne sont pas disponibles sur les instances d'une classe.

Syntaxe

static nomMéthode() { ... }

Description

Les méthodes statiques sont utilisées lorsque la méthode ne s'applique qu'à la classe elle-même et pas à ses instances. Les méthodes statiques sont généralement utilisées pour créer des fonctions utilitaires.

Exemples

Dans l'exemple qui suit, on illustre comment une classe implémente une méthode statique et comment une classe avec une propriété statique peut être déclinée avec une sous-classe.

class Triple {
  static triple(n) {
    n = n | 1;
    return n * 3;
  }
}

class SuperTriple extends Triple {
  static triple(n) {
    return super.triple(n) * super.triple(n);
  }
}

console.log(Triple.triple());       // 3
console.log(Triple.triple(6));      // 18
console.log(SuperTriple(triple(4)); // 144

var tp = new Triple();
console.log(tp.triple()); // tp.triple n'est pas une fonction

Spécifications

Spécification Statut Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Class definitions' dans cette spécification.
Standard Définition initiale.

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support simple 42.0 Nightly build ? ? ?
Fonctionnalité Android Webview Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple Pas de support 42.0 42.0 Nightly build ? ? ?

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight
Dernière mise à jour par : SphinxKnight,
Masquer la barre latérale