Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence JavaScript
  4. Instructions
  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 2017⁩.

Ladéclaration class crée une nouvelle classe avec le nom fourni en utilisant l'héritage à base de prototypes pour émuler le fonctionnement de classe.

Exemple interactif

class Polygon {  constructor(height, width) {    this.area = height * width;  }}console.log(new Polygon(4, 3).area);// Expected output: 12

Il est aussi possible de définir une classe avec uneexpression class.

Syntaxe

js
class nom [extends autreNom] {  // corps de la classe}

Description

Les déclarations qui composent le corps de la classe sont exécutées enmode strict. La propriété du constructeur est optionnelle.

Les déclarations utilisées dans les classes ne sont pas remontées (hoisted) (à la différence desdéclarations de fonctions).

Exemples

Déclarer une classe simple

Dans l'exemple qui suit, on définit une classePolygone pour laquelle on crée un sous-classeCarré. On note ici que la méthodesuper() ne peut être utilisée qu'au sein d'un constructeur et doit être appelée avant l'utilisation du mot-cléthis.

js
class Polygone {  constructor(hauteur, largeur) {    this.nom = "Polygone";    this.hauteur = hauteur;    this.largeur = largeur;  }}class Carré extends Polygone {  constructor(longueur) {    super(longueur, longueur);    this.nom = "Carré";  }}

Attention :Déclarer une classe deux fois lèvera une exceptionSyntaxError. De même, on ne pourra pas réutiliser un nom qui a déjà été utilisé dans une expression de classe.

js
// Deux déclarations avec le même nomclass Toto {}class Toto {} // Uncaught SyntaxError: Identifier 'Toto' has already been declared// Expression puis déclarationvar Truc = class {};class Truc {} // Uncaught TypeError: Identifier 'Truc' has already been declared

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