Skip to content

Commit 4c3dbf5

Browse files
Apply minor fixes in '1-js/08-prototypes/03-native-prototypes/article.md'
1 parent abbd2ac commit 4c3dbf5

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

1-js/08-prototypes/03-native-prototypes/article.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ Polyfilling est un terme utilisé pour remplacer une méthode existante dans la
133133

134134
Ensuite, nous pouvons l’implémenter manuellement et y ajouter le prototype intégré.
135135

136-
Par exemple:
136+
Par exemple :
137137

138138
```js run
139139
if (!String.prototype.repeat) { // s'il n'y a pas une telle méthode
@@ -152,18 +152,17 @@ if (!String.prototype.repeat) { // s'il n'y a pas une telle méthode
152152
alert( "La".repeat(3) ); // LaLaLa
153153
```
154154

155-
156155
## Emprunt de prototypes
157156

158157
Dans le chapitre <info:call-apply-decorators#method-borrowing> nous avons parlé de l'emprunt de méthode.
159158

160159
C'est quand nous prenons une méthode d'un objet et le copions dans un autre.
161160

162-
Certaines méthodes de prototypes natifs sont souvent empruntés.
161+
Certaines méthodes de prototypes natifs sont souvent empruntées.
163162

164163
Par exemple, si nous créons un objet semblable à un tableau, nous voudrons peut-être y copier des méthodes `Array`.
165164

166-
E.g.
165+
Par exemple :
167166

168167
```js run
169168
let obj = {
@@ -181,7 +180,7 @@ alert( obj.join(',') ); // Hello,world!
181180

182181
Cela fonctionne car l'algorithme interne de la méthode `join` intégrée ne se préoccupe que des index corrects et de la propriété `length`. Il ne vérifie pas que l'objet est bien un tableau. Et beaucoup de méthodes intégrées sont comme ça.
183182

184-
Une autre possibilité consiste à hériter en fixant `obj.__ proto__` sur `Array.prototype`, afin que toutes les méthodes `Array` soient automatiquement disponibles dans `obj`.
183+
Une autre possibilité consiste à hériter en fixant `obj.__proto__` sur `Array.prototype`, afin que toutes les méthodes `Array` soient automatiquement disponibles dans `obj`.
185184

186185
Mais c'est impossible si `obj` hérite déjà d'un autre objet. N'oubliez pas que nous ne pouvons hériter que d'un objet à la fois.
187186

@@ -192,5 +191,5 @@ L'emprunt des méthodes est flexible, cela permet de mélanger les fonctionnalit
192191
- Tous les objets intégrés suivent le même schéma :
193192
- Les méthodes sont stockées dans le prototype (`Array.prototype`, `Object.prototype`, `Date.prototype`, etc.).
194193
- L'objet lui-même ne stocke que les données (éléments de tableau, propriétés de l'objet, date).
195-
- Les primitives stockent également des méthodes dans des prototypes d'objets wrapper: `Number.prototype`, `String.prototype`, `Boolean.prototype`. Seuls `undefined` et `null` n'ont pas d'objets wrapper.
194+
- Les primitives stockent également des méthodes dans des prototypes d'objets wrapper : `Number.prototype`, `String.prototype`, `Boolean.prototype`. Seuls `undefined` et `null` n'ont pas d'objets wrapper.
196195
- Les prototypes intégrés peuvent être modifiés ou remplis avec de nouvelles méthodes. Mais il n'est pas recommandé de les changer. La seule cause possible est probablement l’ajout d’un nouveau standard, mais pas encore pris en charge par le moteur JavaScript.

0 commit comments

Comments
 (0)