Skip to content

Commit 62736b1

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

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

1-js/05-data-types/08-weakmap-weakset/article.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ john = null; // sovrascriviamo il riferimento
5050

5151
*!*
5252
// john viene memorizzato all'interno di map,
53-
// possiamo ottenerlo utilizzando map.keys()
53+
// possiamo estrarlo utilizzando map.keys()
5454
*/!*
5555
```
5656

@@ -75,7 +75,7 @@ weakMap.set("test", "Whoops"); // Errore, perché "test" non è un oggetto
7575
*/!*
7676
```
7777

78-
Ora, se utilizziamo un oggetto come chiave, e perdiamo tutti i riferimenti a quell'oggetto -- questo verrà rimosso dalla memoria (e dalla map) automaticamente.
78+
Ora, se utilizziamo un oggetto come chiave, e non ci sono altri riferimenti a quell'oggetto -- questo verrà rimosso dalla memoria (e dalla map) automaticamente.
7979

8080
```js
8181
let john = { name: "John" };
@@ -90,7 +90,7 @@ john = null; // sovrascriviamo il riferimento
9090

9191
Confrontiamolo con l'esempio di `Map` visto sopra. Ora se `john` esiste solo come chiave della `WeakMap` -- verrà eliminato automaticamente dalla map (e anche dalla memoria).
9292

93-
`WeakMap` non supportano gli iteratori e i metodi `keys()`, `values()`, `entries()`, quindi non c'è alcun modo di ottenere tutte le chiavi o valori tramite questi metodi.
93+
`WeakMap` non supporta gli iteratori e i metodi `keys()`, `values()`, `entries()`, quindi non c'è alcun modo di ottenere tutte le chiavi o valori tramite questi metodi.
9494

9595
`WeakMap` possiede solamente i seguenti metodi:
9696

@@ -120,7 +120,7 @@ weakMap.set(john, "secret documents");
120120

121121
Proviamo a guardare un esempio.
122122

123-
Possiamo pensare di avere del codice che tiene nota del conteggio delle visite per ogni utente. L'informazioni viene memorizzata in un map: l'utente è la chiave mentre il conteggio delle visite è il valore. Quando l'utente esce, vogliamo smettere di mantenere in memoria il conteggio delle visite.
123+
Immaginiamo di avere del codice che tiene nota del numero di visite per ogni utente. L'informazioni viene memorizzata in un map: l'utente è la chiave, mentre il conteggio delle visite è il valore. Quando l'utente esce, vogliamo smettere di mantenere in memoria il conteggio delle visite.
124124

125125
Qui vediamo un esempio di conteggio utilizzando `Map`:
126126

@@ -284,8 +284,8 @@ La maggior limitazione di `WeakMap` e `WeakSet` è l'assenza di iteratori, e la
284284

285285
`WeakSet` è una collezione simile a `Set`, che memorizza solamente oggetti, e li rimuove completamente una volta che diventano inaccessibili.
286286

287-
I loro principali vantaggi sono che possiedono un riferimento debole agli oggetti, in questo modo possono essere facilmente ripuliti dal garbage collector.
287+
Il loro principale vantaggio è che possiedono un riferimento debole agli oggetti, in questo modo possono essere facilmente ripuliti dal garbage collector.
288288

289-
Questi vantaggi però non consento l'utilizzo di `clear`, `size`, `keys`, `values`...
289+
Il lato negativo è di non poter utilizzare `clear`, `size`, `keys`, `values`...
290290

291-
`WeakMap` e `WeakSet` vengono utilizzate come strutture dati "secondarie" in aggiunta a quelle "principali". Una volta che l'oggetto viene rimossa dalla struttura dati "principale", se l'unico riferimento rimasto è una chiave di `WeakMap` o `WeakSet`, allora verranno rimossi.
291+
`WeakMap` e `WeakSet` vengono utilizzati come strutture dati "secondarie" in aggiunta a quelle "principali". Una volta che l'oggetto viene rimosso dalla struttura dati "principale", se l'unico riferimento rimasto è una chiave di `WeakMap` o `WeakSet`, allora verrà rimosso.

0 commit comments

Comments
 (0)