You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Parfois certaines personnes disent que la notion de `class` est un "sucre syntaxique" (une syntaxe qui est destinée à rendre la lecture plus facile, mais elle n'introduit rien de nouveau), parce qu'en réalité nous pouvons déclarer la même chose sans utiliser le mot clé `classe` :
122
+
Parfois certaines personnes disent que la notion de `class` est un "sucre syntaxique" (une syntaxe qui est destinée à rendre la lecture plus facile, mais elle n'introduit rien de nouveau), parce qu'en réalité nous pouvons déclarer la même chose sans utiliser le mot clé `class` :
123
123
124
124
```js run
125
125
// Réécriture de class User en fonctions pures
@@ -158,7 +158,7 @@ Cependant, il existe des différences importantes.
158
158
User(); // Erreur: le constructeur Class User ne peut être invoque sans 'new'
159
159
```
160
160
161
-
Aussi, la représentation en chaine de caractère d'un constructeur de class dans la plupart des moteurs de JavaScript commence avec "class..." :
161
+
Aussi, la représentation en chaîne de caractères d'un constructeur de class dans la plupart des moteurs de JavaScript commence avec "class..." :
162
162
163
163
```js run
164
164
class User {
@@ -171,7 +171,7 @@ Cependant, il existe des différences importantes.
171
171
Il y a d'autres différences, nous les verrons bientôt.
172
172
173
173
2. Les méthodes de Class sont non-énumérable.
174
-
Une définition de la classe attribue `false` à la propriété `énumérable` pour toutes les méthodes du `"prototype"`.
174
+
Une définition de la classe attribue `false` à la propriété `enumerable` pour toutes les méthodes du `"prototype"`.
175
175
176
176
C'est bien, parce que si nous exécutons un `for..in` sur un Object, souvent nous ne voulons pas accéder aux méthodes de sa classe.
Copy file name to clipboardExpand all lines: 1-js/09-classes/02-class-inheritance/article.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -69,8 +69,8 @@ Par exemple, pour trouver la méthode `rabbit.run`, le moteur vérifie (de bas e
69
69
70
70
Comme nous pouvons nous en rappeler dans le chapitre <info:native-prototypes>, JavaScript lui-même utilise l'héritage prototypale pour les objets intégrés. Exemple : `Date.prototype.[[Prototype]]` est `Object.prototype`. C'est pourquoi les dates ont accès aux méthodes d'objet génériques.
71
71
72
-
````smart header="Toute expression est autorisée après `extend`"
73
-
La syntaxe de classe permet de spécifier non seulement une classe, mais toute expression après `extend`.
72
+
````smart header="Toute expression est autorisée après `extends`"
73
+
La syntaxe de classe permet de spécifier non seulement une classe, mais toute expression après `extends`.
74
74
75
75
Par exemple, un appel de fonction qui génère la classe parent :
76
76
@@ -114,7 +114,7 @@ Les classes fournissent le mot clé `"super"` pour cela.
114
114
- `super.method(...)` pour appeler une méthode parente.
115
115
- `super(...)` pour appeler un constructeur parent (dans notre constructeur uniquement).
116
116
117
-
Par exemple, laisson rabbit se cacher automatiquement à l’arrêt :
117
+
Par exemple, laissons rabbit se cacher automatiquement à l’arrêt :
118
118
119
119
```js run
120
120
class Animal {
@@ -388,9 +388,9 @@ Poussons un peu plus loin sous le capot de `super`. Nous y verrons des choses in
388
388
389
389
Tout d'abord, d'après tout ce que nous avons appris jusqu'à présent, `super` ne devrait pas fonctionner du tout !
390
390
391
-
Oui, en effet, demandons-nous comment cela devrait fonctionner techniquement ? Lorsqu'une méthode d'objet est exécutée, l'objet actuel est remplacé par `this`. Si nous appelons `super.method()`, le moteur doit obtenir la `methode` à partir du prototype de l'objet actuel. Mais comment ?
391
+
Oui, en effet, demandons-nous comment cela devrait fonctionner techniquement ? Lorsqu'une méthode d'objet est exécutée, l'objet actuel est remplacé par `this`. Si nous appelons `super.method()`, le moteur doit obtenir la `method` à partir du prototype de l'objet actuel. Mais comment ?
392
392
393
-
La tâche peut sembler simple, mais elle ne l’est pas. Le moteur connaît l'objet en cours `this`, de sorte qu'il pourrait obtenir la `methode` parent sous la forme `this.__proto__.Method`. Malheureusement, une telle solution "naïve" ne fonctionnera pas.
393
+
La tâche peut sembler simple, mais elle ne l’est pas. Le moteur connaît l'objet en cours `this`, de sorte qu'il pourrait obtenir la `method` parent sous la forme `this.__proto__.Method`. Malheureusement, une telle solution "naïve" ne fonctionnera pas.
394
394
395
395
Montrons le problème. Sans les classes, en utilisant des objets simples pour des raisons de simplicité.
Maintenant, lorsque nous appellerons `Rabbit.compare`, le `Animal.compare` hérité sera appelé.
193
193
194
-
Comment cela fonctionnet-il ? Encore une fois, en utilisant des prototypes. Comme vous l'avez peut-être déjà deviné, `extends` donne à `Rabbit` la référence de `[[Prototype]]` à `Animal`.
194
+
Comment cela fonctionne-t-il ? Encore une fois, en utilisant des prototypes. Comme vous l'avez peut-être déjà deviné, `extends` donne à `Rabbit` la référence de `[[Prototype]]` à `Animal`.
Copy file name to clipboardExpand all lines: 1-js/09-classes/04-private-protected-properties-methods/article.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -123,11 +123,11 @@ Maintenant, l'accès est sous contrôle, donc le réglage de l'eau en dessous de
123
123
124
124
## "power" en lecture seule
125
125
126
-
Pour la propriété `power`, rendons-la en lecture seule. Il arrive parfois qu'une propriété doit être définie au moment de la création, puis ne jamais être modifiée.
126
+
Pour la propriété `power`, rendons-la en lecture seule. Il arrive parfois qu'une propriété doive être définie au moment de la création, puis ne jamais être modifiée.
127
127
128
128
C'est exactement le cas pour une machine à café : la puissance ne change jamais.
129
129
130
-
Pour ce faire, il suffit de définir l'accésseur, mais pas le mutateur :
130
+
Pour ce faire, il suffit de définir l'accesseur, mais pas le mutateur :
0 commit comments