Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence JavaScript
  4. Expressions et opérateurs
  5. class

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

class

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨mars 2016⁩.

Uneexpression de classe est un moyen de définir une classe avec ECMASCript 2015 (ES6). Semblable auxexpressions de fonctions, les expressions de classes peuvent être nommées ou anonymes. Si l'expression est nommée, le nom de la classe ne sera local que pour le corps de la fonction. Cette syntaxe n'est qu'un « sucre syntaxique » pour faciliter l'écriture du code, elle ne modifie en aucun cas le modèle d'héritage utilisé par JavaScript qui est un modèle à base de prototypes.

Exemple interactif

const Rectangle = class {  constructor(height, width) {    this.height = height;    this.width = width;  }  area() {    return this.height * this.width;  }};console.log(new Rectangle(5, 8).area());// Expected output: 40

Syntaxe

js
const MaClasse = class [nomClasse] [extends autreNomClasse] {  // corps de la classe};

Description

Une expression de classe utilise une syntaxe similaire à celle d'uneinstruction de classe. En revanche, avec les expressions de classes, il est possible de ne pas nommer la classe, ce qu'il est impossible de faire avec les instructions de classes. De plus, en utilisant les expressions de classe, on peut redéfinir/redéclarer les classes si nécessaire. Le type d'une classe sera toujours"function".

Le corps d'une classe sera exécuté enmode strict (pour les instructions et les expressions de classe).

Exemples

Une expression simple

Ici, on utilise une expression de classe anonyme qu'on lie à la variableToto.

js
var Toto = class {  constructor() {}  truc() {    return "Coucou monde !";  }};var instance = new Toto();instance.truc(); // "Coucou monde !"Toto.name; // "Toto"

Des expressions nommées

Si on souhaite faire référence à la classe, au sein du corps de la classe, on pourra utiliser une expression nommée. Le nom utilisé ne sera visible que depuis l'intérieur de la portée de l'expression de classe.

js
// TBDvar Toto = class TotoNommé {  constructor() {}  quiEstLa() {    return TotoNommé.name;  }};var truc = new Toto();truc.quiEstLa(); // "TotoNommmé"TotoNommé.name; // ReferenceErrorToto.name; // "TotoNommé"

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-class-definitions

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp