1
00:00:00,300 --> 00:00:06,060
Bentornato nel video precedente abbiamo visto che quando viene utilizzata la nuova parola chiave viene aggiunta

2
00:00:06,150 --> 00:00:10,310
una proprietà all'oggetto creato dalla funzione di costruzione chiamata donder produ.

3
00:00:10,560 --> 00:00:14,780
Questa proprietà si collega alla proprietà prototype sulla funzione di costruzione.

4
00:00:15,330 --> 00:00:21,120
Ma quale valore ha questa proprietà prototipo avere la proprietà prototype è un oggetto che può avere

5
00:00:21,120 --> 00:00:23,440
metodi e proprietà collocati su di esso.

6
00:00:23,520 --> 00:00:30,090
Questi metodi e proprietà sono condivisi e accessibili da qualsiasi oggetto creato da quella funzione

7
00:00:30,090 --> 00:00:30,770
di costruzione.

8
00:00:30,780 --> 00:00:37,710
in questo esempio in cui l'aggiunta di una proprietà sul prototipo chiamato è istruttore e l'impostazione del valore è true.

9
00:00:38,010 --> 00:00:40,470
Quando viene utilizzata la nuova parola chiave

10
00:00:40,470 --> 00:00:46,080
Ora tutti gli oggetti che sono stati creati da questo costruttore utilizzando la nuova parola chiave hanno accesso

11
00:00:46,080 --> 00:00:47,910
a is instr. proprietà.

12
00:00:48,450 --> 00:00:49,920
Ma come è successo nel mondo?

13
00:00:50,130 --> 00:00:56,310
Abbiamo aggiunto una proprietà sull'oggetto prototipo person e all'improvviso due oggetti apparentemente non

14
00:00:56,340 --> 00:00:58,610
correlati hanno accesso ad esso.

15
00:00:58,620 --> 00:01:01,080
La risposta sta nel protocollo.

16
00:01:01,380 --> 00:01:08,510
Dal momento che questi oggetti hanno un collegamento a un prototipo di punti personali, non possono accedere a nulla al suo interno.

17
00:01:08,520 --> 00:01:15,260
In realtà questo è in realtà il modo esatto in cui javascript trova metodi e proprietà sugli oggetti.

18
00:01:15,450 --> 00:01:19,130
E quello che abbiamo appena descritto è qualcosa chiamato la catena del prototipo.

19
00:01:19,350 --> 00:01:21,410
Parliamo un po 'di più a riguardo.

20
00:01:21,510 --> 00:01:27,510
Abbiamo appena visto che quando abbiamo aggiunto una proprietà all'oggetto prototipo della persona era accessibile dagli oggetti

21
00:01:27,510 --> 00:01:31,120
creati dalla funzione di costruzione utilizzando la nuova parola chiave.

22
00:01:31,470 --> 00:01:37,110
Abbiamo quindi affermato che il motivo per cui ciò è stato possibile è dovuto al modo in cui javascript

23
00:01:37,140 --> 00:01:38,210
cerca metodi e proprietà.

24
00:01:38,490 --> 00:01:40,110
Facciamo un esempio.

25
00:01:40,110 --> 00:01:44,920
Ho intenzione di creare una variabile chiamata R e impostarla uguale a un array vuoto.

26
00:01:44,940 --> 00:01:48,250
Quello che ho fatto in realtà è una scorciatoia per scrivere nuovi array.

27
00:01:48,510 --> 00:01:53,770
Io uso il costruttore incorporato in javascript chiamato array e trovo un nuovo oggetto da esso.

28
00:01:53,820 --> 00:01:59,400
Sappiamo anche in javascript che i nostri array hanno un metodo chiamato Push che aggiunge qualcosa alla fine

29
00:01:59,430 --> 00:02:00,450
di un array.

30
00:02:00,660 --> 00:02:05,120
Ma dove è definito questo metodo push e in che modo javascript sa dove trovarlo.

31
00:02:05,130 --> 00:02:08,060
La risposta ancora una volta è a Dunder Prato.

32
00:02:08,510 --> 00:02:09,250
Cancelliamo quello.

33
00:02:09,250 --> 00:02:09,640
D'oh.

34
00:02:09,660 --> 00:02:17,070
La variabile R e vediamo che tutto questo oggetto ha una proprietà chiamata lenth, ma da dove proviene

35
00:02:17,070 --> 00:02:18,090
il metodo push.

36
00:02:18,420 --> 00:02:23,250
Bene, esaminiamo cos'è il Dunder Prato di questa nostra variabile.

37
00:02:23,250 --> 00:02:31,590
È infatti il ​​prototipo del punto dell'array che possiamo dimostrare che dimostrando che sotto Prato tripla

38
00:02:31,680 --> 00:02:35,120
è uguale, un prototipo radar risulta vero.

39
00:02:35,130 --> 00:02:40,320
Quindi il modo in cui javascript trova i metodi e le proprietà è guardando l'oggetto e se

40
00:02:40,320 --> 00:02:46,020
non riesce a trovare il metodo o la proprietà che stai cercando, va a quegli oggetti che lo guardano.

41
00:02:46,020 --> 00:02:49,810
Questo continua a succedere finché non viene trovata la proprietà o il metodo.

42
00:02:49,950 --> 00:02:56,010
E se non viene trovato l'espressione valuta a indefinito possiamo vederlo ulteriormente con

43
00:02:56,010 --> 00:02:58,260
un altro esempio in javascript.

44
00:02:58,260 --> 00:03:04,800
Ogni oggetto ha un metodo chiamato ha una propria proprietà che restituisce true se l'oggetto ha una

45
00:03:05,160 --> 00:03:08,370
proprietà specificata come parametro del metodo has in proprietà.

46
00:03:08,430 --> 00:03:09,600
Cosa significa.

47
00:03:09,630 --> 00:03:12,300
A volte un esempio di codice vale più di mille parole.

48
00:03:12,300 --> 00:03:15,670
Torniamo alla nostra variabile.

49
00:03:15,750 --> 00:03:22,170
Cercheremo di vedere se la nostra variabile ha una sua proprietà di lunghezza, ma dove si

50
00:03:22,170 --> 00:03:23,460
trova questo metodo.

51
00:03:23,460 --> 00:03:26,550
Diamo un'occhiata alla nostra variabile con la console punto DIR.

52
00:03:26,640 --> 00:03:30,800
Puoi anche solo digitare Diyar ma non sembra essere qui.

53
00:03:31,080 --> 00:03:32,680
Quindi cosa fa javascript.

54
00:03:32,700 --> 00:03:39,240
Risale la catena del prototipo e trova il prossimo sotto-prodotto che possiamo vedere che il prossimo sotto

55
00:03:39,240 --> 00:03:41,090
Prato è il prototipo dell'oggetto.

56
00:03:41,310 --> 00:03:43,810
E qui è dove si trova quel metodo.

57
00:03:44,010 --> 00:03:47,040
Possiamo illustrare anche questo con il diagramma.

58
00:03:47,040 --> 00:03:51,150
Ancora una volta i cerchi sono funzioni e i quadrati sono oggetti.

59
00:03:51,150 --> 00:03:56,220
Qui vediamo una variabile R che ha un problema di Prato di un prototipo radar.

60
00:03:56,220 --> 00:04:03,150
Il prototipo dell'array up è anch'esso un oggetto e ha il suo prato Prato che punta

61
00:04:03,720 --> 00:04:08,840
al prototipo dell'oggetto ogni oggetto in javascript contiene l'oggetto del prototipo.

62
00:04:08,880 --> 00:04:15,360
Ecco come metodi come la proprietà privata provengono dal Dunder Prato dell'oggetto che il prototipo è nullo

63
00:04:15,660 --> 00:04:19,480
ed è qui che si ferma la catena del prototipo.

64
00:04:19,500 --> 00:04:25,170
visto come javascript guarderà un oggetto e vedrà se esiste il metodo o la proprietà che stai cercando.

65
00:04:25,170 --> 00:04:30,170
Per ricapitolare analizziamo come javascript trova metodi e proprietà usando la catena del prototipo, abbiamo

66
00:04:30,330 --> 00:04:36,190
E se no andrà a quegli oggetti Dondre Prato e ripeterà fino a quando non c'è un altro programma Dondre

67
00:04:37,140 --> 00:04:38,040
nel prossimo video.

68
00:04:38,070 --> 00:04:42,710
Parleremo più del valore della proprietà del prototipo e della pratica con un esercizio.

69
00:04:42,720 --> 00:04:43,420
Guardaci dentro
