Skip to content

Commit 5fc16b7

Browse files
longo-andreapasor1
andauthored
Apply suggestions from code review
Co-authored-by: Simone Pasini <66781510+pasor1@users.noreply.github.com>
1 parent a7c55bb commit 5fc16b7

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

1-js/09-classes/05-extend-natives/article.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,20 @@ alert(filteredArr); // 10, 50
2121
alert(filteredArr.isEmpty()); // false
2222
```
2323

24-
Notiamo una cosa interessante. I metodi built-in come `filter`, `map` e così via -- ritornano nuovi oggetti del tipo ereditato, cioè `PowerArray`. La loro implementazione interna utilizzata il `costruttore` per farlo.
24+
Notiamo una cosa interessante. I metodi built-in come `filter`, `map` e così via, ritornano nuovi oggetti del tipo ereditato, cioè `PowerArray`. La loro implementazione interna utilizzata la proprietà oggetto `constructor` per farlo.
2525

2626
Nell'esempio sopra,
2727
```js
2828
arr.constructor === PowerArray
2929
```
3030

31-
Quando invochiamo `arr.filter()`, questo creerà internamente il nuovo array contenente i risultati utilizzando `arr.constructor`, non l'`Array` standard. Questo è molto utile, poiché possiamo continuare ad utilizzare i metodi di `PowerArray` anche dopo aver ottenuto il risultato.
31+
Quando invochiamo `arr.filter()`, questo creerà internamente il nuovo array contenente i risultati utilizzando `arr.constructor`, non l'oggetto `Array` standard. Questo è molto utile, poiché successivamente possiamo utilizzare i metodi di `PowerArray` sul risultato ottenuto.
3232

33-
Ancora meglio, possiamo personalizzarne il comportamento.
33+
Inoltre, possiamo personalizzarne il comportamento.
3434

35-
Possiamo aggiungere uno speciale getter statico `Symbol.species` alla classe. Questo dovrebbe ritornare il costruttore che Javascript utilizzerà internamente per creare le nuove entità in `map`, `filter` e gli altri metodi.
35+
Possiamo aggiungere uno speciale getter statico `Symbol.species` alla classe. Questo dovrebbe ritornare il costruttore che Javascript utilizzerà internamente per creare le nuove entità in `map`, `filter` e così via.
3636

37-
Se, invece, la nostra intenzione è quella di restituire degli array standard tramite l'utilizzo dei metodi come `map` o `filter`, possiamo ritornare `Array` in `Symbol.species`, come nell'esempio:
37+
Se, ad esempio, volessimo che metodi come `map` o `filter` restituiscano un array standard, possiamo ritornare `Array` in `Symbol.species`, come nell'esempio:
3838

3939
```js run
4040
class PowerArray extends Array {
@@ -76,7 +76,7 @@ Come già sappiamo, le classi integrate si estendono a vicenda. Ad esempio, `Arr
7676

7777
Normalmente, quando una classe ne estende un'altra, sia i metodi statici che quelli non-statici vengono ereditati. Questo è stato ampiamente spiegato nell'articolo [](info:static-properties-methods#statics-and-inheritance).
7878

79-
Ma le classi built-in fanno eccezione. Queste, infatti, non ereditano i membri statici a vicenda.
79+
Ma le classi built-in fanno eccezione. Queste, infatti, non ereditano i membri statici a le une dalle altre.
8080

8181
Ad esempio, sia `Array` che `Date` ereditano da `Object`, quindi le loro istanze possiedono i metodi di `Object.prototype`. Ma `Array.[[Prototype]]` non fa riferimento ad `Object`, quindi, ad esempio, non si ha alcun metodo statico come `Array.keys()` (o `Date.keys()`).
8282

0 commit comments

Comments
 (0)