Skip to content

Commit 6902063

Browse files
Apply minor fixes in '1-js/09-classes/03-static-properties-methods/article.md'
1 parent d669a50 commit 6902063

File tree

1 file changed

+17
-17
lines changed
  • 1-js/09-classes/03-static-properties-methods

1 file changed

+17
-17
lines changed

1-js/09-classes/03-static-properties-methods/article.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
Nous pouvons aussi assigner une méthode à la fonction de classe elle-même, pas à son `"prototype"`. De telles méthodes sont appelées *statique*.
55

6-
Dans une classe, elles sont précédées du mot clé `static`, comme ceci:
6+
Dans une classe, elles sont précédées du mot clé `static`, comme ceci :
77

88
```js run
99
class User {
@@ -17,7 +17,7 @@ class User {
1717
User.staticMethod(); // true
1818
```
1919

20-
Cela revient en fait à l'affecter directement à une propriété:
20+
Cela revient en fait à l'affecter directement à une propriété :
2121

2222
```js run
2323
class User { }
@@ -33,7 +33,7 @@ La valeur de `this` dans l'appel `User.staticMethod()` est le constructeur de la
3333

3434
Généralement, les méthodes statiques sont utilisées pour implémenter des fonctions appartenant à la classe, mais pas à un objet particulier de celle-ci.
3535

36-
Par exemple, nous avons des objets `Article` et avons besoin d'une fonction pour les comparer.
36+
Par exemple, nous avons des objets `Article` et avons besoin d'une fonction pour les comparer.
3737

3838
Une solution naturelle serait d’ajouter la méthode `Article.compare`, comme ceci :
3939

@@ -67,11 +67,11 @@ alert( articles[0].title ); // CSS
6767

6868
Ici, `Article.compare` est "au dessus" des articles, comme un moyen de les comparer. Ce n'est pas une méthode d'article, mais plutôt de toute la classe.
6969

70-
Un autre exemple serait une méthode dite "d'usine".
70+
Un autre exemple serait une méthode dite "d'usine".
7171

7272
Disons que nous avons besoin de plusieurs façons de créer un article :
7373

74-
1. Créez avec des paramètres donnés (`title`, `date` etc.).
74+
1. Créez avec des paramètres donnés (`title`, `date`, etc.).
7575
2. Créez un article vide avec la date du jour.
7676
3. ... ou d'une certaine manière.
7777

@@ -101,11 +101,11 @@ alert( article.title ); // Today's digest
101101

102102
Maintenant, chaque fois que nous avons besoin de créer le résumé d'aujourd'hui, nous pouvons appeler `Article.createTodays()`. Encore une fois, ce n'est pas une méthode d'article, mais une méthode de toute la classe.
103103

104-
Les méthodes statiques sont également utilisées dans les classes liées à la base de données pour rechercher/enregistrer/supprimer des entrées dans la base de données, comme ceci:
104+
Les méthodes statiques sont également utilisées dans les classes liées à la base de données pour rechercher/enregistrer/supprimer des entrées dans la base de données, comme ceci :
105105

106106
```js
107107
// en supposant que Article est une classe spéciale pour la gestion d'articles
108-
// méthode statique pour supprimer l'article:
108+
// méthode statique pour supprimer l'article :
109109
Article.remove({id: 12345});
110110
```
111111

@@ -116,15 +116,15 @@ Par exemple, ce genre de code ne fonctionnera pas :
116116
117117
```js
118118
// ...
119-
article.createTodays(); /// Error: article.createTodays is not a function
119+
article.createTodays(); // Error: article.createTodays is not a function
120120
```
121121
````
122122

123123
## Propriétés statiques
124124

125125
[recent browser=Chrome]
126126

127-
Les propriétés statiques sont également possibles, elles ressemblent aux propriétés de classe ordinaires, mais précédées de `static`:
127+
Les propriétés statiques sont également possibles, elles ressemblent aux propriétés de classe ordinaires, mais précédées de `static` :
128128

129129
```js run
130130
class Article {
@@ -134,7 +134,7 @@ class Article {
134134
alert( Article.publisher ); // Ilya Kantor
135135
```
136136

137-
C’est la même chose qu’une assignation directe à `Article`:
137+
C’est la même chose qu’une assignation directe à `Article` :
138138

139139
```js
140140
Article.publisher = "Ilya Kantor";
@@ -144,7 +144,7 @@ Article.publisher = "Ilya Kantor";
144144

145145
Les propriétés et méthodes statiques sont héritées.
146146

147-
Par exemple, `Animal.compare` et `Animal.planet` dans le code ci-dessous sont hérités et accessibles par `Rabbit.compare` `Rabbit.planet` :
147+
Par exemple, `Animal.compare` et `Animal.planet` dans le code ci-dessous sont hérités et accessibles par `Rabbit.compare` et `Rabbit.planet` :
148148

149149
```js run
150150
class Animal {
@@ -191,18 +191,18 @@ alert(Rabbit.planet); // Earth
191191

192192
Maintenant, lorsque nous appellerons `Rabbit.compare`, le `Animal.compare` hérité sera appelé.
193193

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`.
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`.
195195

196196
![](animal-rabbit-static.svg)
197197

198-
Ainsi, `Rabbit extends Animal` crée deux références `[[Prototype]]`:
198+
Ainsi, `Rabbit extends Animal` crée deux références `[[Prototype]]` :
199199

200200
1. La fonction `Rabbit` hérite de façon prototypique de la fonction `Animal`.
201201
2. `Rabbit.prototype` hérite de façon prototypique de `Animal.prototype`.
202202

203203
En conséquence, l'héritage fonctionne à la fois pour les méthodes régulières et statiques.
204204

205-
Vérifions cela par code:
205+
Vérifions cela par code :
206206

207207
```js run
208208
class Animal {}
@@ -225,7 +225,7 @@ Ils sont étiquetés par le mot `static` dans la déclaration de classe.
225225

226226
Les propriétés statiques sont utilisées lorsque nous souhaitons stocker des données au niveau de la classe, également non liées à une instance.
227227

228-
La syntaxe est la suivante:
228+
La syntaxe est la suivante :
229229

230230
```js
231231
class MyClass {
@@ -237,7 +237,7 @@ class MyClass {
237237
}
238238
```
239239

240-
Techniquement, la déclaration statique revient à assigner à la classe elle-même:
240+
Techniquement, la déclaration statique revient à assigner à la classe elle-même :
241241

242242
```js
243243
MyClass.property = ...
@@ -246,4 +246,4 @@ MyClass.method = ...
246246

247247
Les propriétés et méthodes statiques sont héritées.
248248

249-
Pour `class B extends A`, le prototype de la classe `B` pointe lui-même à `A`: `B.[[Prototype]] = A`. Donc, si un champ n'est pas trouvé dans `B`, la recherche continue dans `A`.
249+
Pour `class B extends A`, le prototype de la classe `B` pointe lui-même à `A` : `B.[[Prototype]] = A`. Donc, si un champ n'est pas trouvé dans `B`, la recherche continue dans `A`.

0 commit comments

Comments
 (0)