You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/08-prototypes/01-prototype-inheritance/article.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -126,7 +126,7 @@ Ora, se provassimo a leggere qualcosa da `longEar`, e non esistesse, JavaScript
126
126
127
127
Ci sono solamente due limitazioni:
128
128
129
-
1. Non possono esserci riferimenti circolari. JavaScript lancerebbe un errore se provassimo ad assegnare a `__proto__` un riferimento circolare.
129
+
1. Non possono esserci riferimenti circolari. JavaScript restituirebbe un errore se provassimo ad assegnare a `__proto__` un riferimento circolare.
130
130
2. Il valore di `__proto__` può essere o un oggetto o `null`. Gli altri valori vengono ignorati.
131
131
132
132
Inoltre, anche se dovrebbe essere già ovvio: può esserci solamente un `[[Prototype]]`. Un oggetto non può ereditare da più oggetti.
@@ -135,7 +135,7 @@ Inoltre, anche se dovrebbe essere già ovvio: può esserci solamente un `[[Proto
135
135
```smart header="`__proto__` è un getter/setter storico per `[[Prototype]]`"
136
136
E' un errore comune tra i principianti quello di non conoscere la differenza tra questi due.
137
137
138
-
Da notare che `__proto__` non è *la stessa cosa* della proprietà `[[Prototype]]`. E' solamente un getter/setter per `[[Prototype]]`. Più avanti vedremo alcune situazioni in cui questa differenza avrà importanza, quando avremo una buona conoscenza del linguaggio JavaScript.
138
+
Da notare che `__proto__` non è *la stessa cosa* della proprietà `[[Prototype]]`. E' solamente un getter/setter per `[[Prototype]]`. Più avanti vedremo alcune situazioni in cui questa differenza avrà importanza, ma per ora tenetelo solo a mente.
139
139
140
140
La proprietà `__proto__` è leggermente datata. Esiste solamente per ragioni storiche, la versione attuale di JavaScript suggerisce di utilizzare le funzioni `Object.getPrototypeOf/Object.setPrototypeOf` per impostare il prototype. Vedremo meglio queste funzioni più avanti.
141
141
@@ -209,7 +209,7 @@ alert(admin.fullName); // Alice Cooper, lo stato di admin è stato modificato
209
209
alert(user.fullName); // John Smith, lo stato di user è protetto
210
210
```
211
211
212
-
Nell'esempio in linea `(*)` la proprietà `admin.fullName` ha un getter nel prototype `user`, quindi viene invocato. In linea `(**)` la proprietà ha un setter nel prototype, che viene quindi invocato.
212
+
Nell'esempio, alla linea `(*)` la proprietà `admin.fullName` ha un getter nel prototype `user`, quindi viene invocato. E alla linea `(**)` la proprietà ha un setter nel prototype, che viene quindi invocato.
213
213
214
214
## Il valore di "this"
215
215
@@ -287,7 +287,7 @@ for(let prop in rabbit) alert(prop); // jumps, then eats
287
287
*/!*
288
288
```
289
289
290
-
Se questo non è ciò che ci aspettiamo, e voglia escludere le proprietà ereditate, esiste un metodo integrato [obj.hasOwnProperty(key)](mdn:js/Object/hasOwnProperty): ritorna `true` se `obj` possiede la propria proprietà `key` (non ereditata).
290
+
Se questo non è ciò che ci aspettiamo, e vogliamo escludere le proprietà ereditate, esiste un metodo integrato [obj.hasOwnProperty(key)](mdn:js/Object/hasOwnProperty): ritorna `true` se `obj` possiede la propria proprietà `key` (non ereditata).
291
291
292
292
Quindi possiamo filtrare le proprietà ereditate (o farci qualcos'altro):
0 commit comments