From 844f5103992238c0c23203286dad16a466e89c97 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:09 +0200 Subject: move *.html to *.md --- .../reference/statements/class/index.html | 113 --------------------- .../javascript/reference/statements/class/index.md | 113 +++++++++++++++++++++ 2 files changed, 113 insertions(+), 113 deletions(-) delete mode 100644 files/fr/web/javascript/reference/statements/class/index.html create mode 100644 files/fr/web/javascript/reference/statements/class/index.md (limited to 'files/fr/web/javascript/reference/statements/class') diff --git a/files/fr/web/javascript/reference/statements/class/index.html b/files/fr/web/javascript/reference/statements/class/index.html deleted file mode 100644 index f88cd3f9b3..0000000000 --- a/files/fr/web/javascript/reference/statements/class/index.html +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: class -slug: Web/JavaScript/Reference/Statements/class -tags: - - Classes - - ECMAScript 2015 - - Instruction - - JavaScript - - Reference -translation_of: Web/JavaScript/Reference/Statements/class -original_slug: Web/JavaScript/Reference/Instructions/class ---- -
{{jsSidebar("Statements")}}
- -

La dé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.

- -
{{EmbedInteractiveExample("pages/js/statement-class.html")}}
- - - -

Il est aussi possible de définir une classe avec une {{jsxref("Opérateurs/class", "expression class","",1)}}.

- -

Syntaxe

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

Description

- -

Les déclarations qui composent le corps de la classe sont exécutées en mode 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 des déclarations de fonctions).

- -

Exemples

- -

Déclarer une classe simple

- -

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

- -
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 exception SyntaxError. De même, on ne pourra pas réutiliser un nom qui a déjà été utilisé dans une expression de classe.

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

Spécifications

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-class-definitions', 'Définitions de classe')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ES2016', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES2016')}} 
{{SpecName('ES2017', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES2017')}} 
{{SpecName('ESDraft', '#sec-class-definitions', 'Définitions de classe')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.statements.class")}}

- -

Voir aussi

- - diff --git a/files/fr/web/javascript/reference/statements/class/index.md b/files/fr/web/javascript/reference/statements/class/index.md new file mode 100644 index 0000000000..f88cd3f9b3 --- /dev/null +++ b/files/fr/web/javascript/reference/statements/class/index.md @@ -0,0 +1,113 @@ +--- +title: class +slug: Web/JavaScript/Reference/Statements/class +tags: + - Classes + - ECMAScript 2015 + - Instruction + - JavaScript + - Reference +translation_of: Web/JavaScript/Reference/Statements/class +original_slug: Web/JavaScript/Reference/Instructions/class +--- +
{{jsSidebar("Statements")}}
+ +

La dé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.

+ +
{{EmbedInteractiveExample("pages/js/statement-class.html")}}
+ + + +

Il est aussi possible de définir une classe avec une {{jsxref("Opérateurs/class", "expression class","",1)}}.

+ +

Syntaxe

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

Description

+ +

Les déclarations qui composent le corps de la classe sont exécutées en mode 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 des déclarations de fonctions).

+ +

Exemples

+ +

Déclarer une classe simple

+ +

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

+ +
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 exception SyntaxError. De même, on ne pourra pas réutiliser un nom qui a déjà été utilisé dans une expression de classe.

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

Spécifications

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-class-definitions', 'Définitions de classe')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ES2016', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES2016')}} 
{{SpecName('ES2017', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES2017')}} 
{{SpecName('ESDraft', '#sec-class-definitions', 'Définitions de classe')}}{{Spec2('ESDraft')}} 
+ +

Compatibilité des navigateurs

+ +

{{Compat("javascript.statements.class")}}

+ +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf