|
3 | 3 |
|
4 | 4 | Esistono due tipi di proprietà per gli oggetti. |
5 | 5 |
|
6 | | -Il primo tipo sono le *data properties* (proprietà di tipo dato). Sappiamo già come utilizzarle, poiché tutte le proprietà viste fino ad ora sono erano *date properites*. |
| 6 | +Il primo tipo sono le *data properties* (proprietà di tipo "dato"). Sappiamo già come utilizzarle, poiché tutte le proprietà viste fino ad ora erano *date properties*. |
7 | 7 |
|
8 | 8 | Il secondo tipo di proprietà è qualcosa di nuovo. Sono definite *accessor properties* (proprietà di accesso). Sostanzialmente sono delle funzioni che agiscono come *getter* e *setter* per un valore, che appaiono come normali proprietà al codice esterno. |
9 | 9 |
|
@@ -53,7 +53,7 @@ alert(user.fullName); // John Smith |
53 | 53 | */!* |
54 | 54 | ``` |
55 | 55 |
|
56 | | -Vista esternamente, una *accessor property* è del tutto simile ad una proprietà regolare. Vediamo l'idea che sta dietro alle *accessor properties*. Non *invochiamo* `user.fullName` come una normale funzione, ma la *leggiamo* come una normale proprietà: in questo caso il *getter* sta lavorando per noi. |
| 56 | +Vista esternamente, una *accessor property* è del tutto simile ad una normale proprietà, è questa l'idea che sta dietro alle *accessor properties*. Non *invochiamo* `user.fullName` come una normale funzione, ma la *leggiamo* come una normale proprietà: in questo caso il *getter* sta lavorando per noi. |
57 | 57 |
|
58 | 58 | Per ora, `fullName` possiede un solo getter. Se provassimo ad assegnare `user.fullName=`, otterremo un errore: |
59 | 59 |
|
@@ -96,7 +96,7 @@ alert(user.surname); // Cooper |
96 | 96 |
|
97 | 97 | Come risultato finale, abbiamo un proprietà "virtuale" `fullName`. Che possiamo sia leggere che scrivere. |
98 | 98 |
|
99 | | -## Descritto degli accessors |
| 99 | +## Descrittori degli *accessors* |
100 | 100 |
|
101 | 101 | I descrittori per le *accessor prorperties* sono diversi da quelli per le *data properties*. |
102 | 102 |
|
@@ -185,7 +185,7 @@ Tecnicamente, il codice all'esterno potrebbe accedere direttamente al nome utili |
185 | 185 |
|
186 | 186 | ## Utilizzato per compatibilità |
187 | 187 |
|
188 | | -Uno dei principali vantaggi offerti dagli *accessors* è che permettono di controllare il comportamento di una *data property*, questo comportamento può essere modificato rimpiazzando le proprietà *getter* e *setter*. |
| 188 | +Uno dei principali vantaggi offerti dagli *accessors* è che permettono di migliorare il controllo di una normale *data property* rimpiazzandola con le proprietà *getter* e *setter* e lavorando sul loro comportamento. |
189 | 189 |
|
190 | 190 | Immaginiamo di inziare ad implementare l'oggetto `user` con le proprietà `name` e `age`° |
191 | 191 |
|
|
0 commit comments