1
00:00:00,780 --> 00:00:01,860
Ben tornato.

2
00:00:01,860 --> 00:00:06,930
Quindi negli ultimi video abbiamo parlato di array di javascript che sono la prima struttura di dati

3
00:00:06,960 --> 00:00:09,250
di cui abbiamo parlato nei prossimi video.

4
00:00:09,270 --> 00:00:12,660
Introdurremo una nuova struttura dati chiamata oggetto.

5
00:00:13,140 --> 00:00:16,070
Quindi abbiamo due obiettivi principali proprio come abbiamo fatto con gli array.

6
00:00:16,080 --> 00:00:20,070
Prima vogliamo capire quali oggetti sono il motivo per cui li usiamo.

7
00:00:20,100 --> 00:00:21,900
Come si confrontano con un array.

8
00:00:21,900 --> 00:00:26,350
E poi il secondo obiettivo è come scrivere codice usando gli oggetti javascript.

9
00:00:26,790 --> 00:00:29,370
Andiamo avanti e cominciamo.

10
00:00:29,400 --> 00:00:31,470
Quindi ecco una situazione ipotetica.

11
00:00:31,470 --> 00:00:35,730
Supponiamo che volessi modellare una singola persona in javascript.

12
00:00:35,760 --> 00:00:38,850
Ogni persona ha un nome, un'età e una città.

13
00:00:38,850 --> 00:00:45,030
Quindi ci sono molti modi in cui potrei fare che potrei avere tre diverse variabili, nome età e città, ma poi

14
00:00:45,030 --> 00:00:46,580
non sono correlate tra loro.

15
00:00:46,590 --> 00:00:47,780
Sono totalmente separati.

16
00:00:47,970 --> 00:00:54,560
come quello che sto facendo qui var person è uguale a array dove il primo oggetto è nome Cindy.

17
00:00:54,930 --> 00:00:57,510
Quindi, se volessi collegarli, potrei usare un array

18
00:00:57,600 --> 00:01:03,780
Il secondo oggetto è di 32 anni e l'ultimo oggetto è Missoula o la città.

19
00:01:03,780 --> 00:01:08,510
Questo non è davvero un grande uso di un array perché questi dati non sono realmente una lista.

20
00:01:08,760 --> 00:01:13,920
Sì, possiamo forzarlo in un array ma non si presta al formato di un array in cui

21
00:01:13,920 --> 00:01:16,440
abbiamo liste che spesso hanno un ordine logico.

22
00:01:16,530 --> 00:01:20,770
Non c'è davvero un ordine logico qui per accedere alla città da questo array.

23
00:01:21,000 --> 00:01:23,970
Avrei bisogno di scrivere anche la parentesi.

24
00:01:24,270 --> 00:01:28,360
E questo mi richiede di sapere che anche la città è indice.

25
00:01:28,500 --> 00:01:36,030
Quindi se accidentalmente invertivo l'ordine e ho avuto il nome di Traviss nel primo indice 0, ma poi li ho

26
00:01:36,030 --> 00:01:36,530
mixati.

27
00:01:36,540 --> 00:01:41,300
Così ho avuto a indice 1 città un'età a indice 2.

28
00:01:41,520 --> 00:01:48,060
Quindi, se provassi ad accedere alla persona alla parentesi 2, avrei avuto l'età invece della città.

29
00:01:48,060 --> 00:01:53,370
Quindi questo è tutto per dimostrare che un array non è la soluzione perfetta per ogni situazione.

30
00:01:53,370 --> 00:01:58,040
C'è una struttura dati molto migliore da usare qui che è l'oggetto javascript.

31
00:01:58,110 --> 00:02:03,930
Qui puoi vedere un esempio di come porteremmo l'array persona con il nome età e città e

32
00:02:03,930 --> 00:02:05,630
trasformarlo in un oggetto javascript.

33
00:02:05,790 --> 00:02:10,140
La prima cosa che dovresti notare è che abbiamo parentesi graffe anziché parentesi quadre per un array.

34
00:02:10,890 --> 00:02:15,470
Il prossimo pezzo importante è che ogni oggetto in questo oggetto è una coppia di valori chiave.

35
00:02:15,750 --> 00:02:21,050
Quindi abbiamo una proprietà che il nome del valore di Colan è.

36
00:02:21,180 --> 00:02:25,500
L'età è 32 città è Missoula.

37
00:02:25,500 --> 00:02:27,360
Questa diapositiva mostra la stessa identica cosa.

38
00:02:27,450 --> 00:02:34,860
Abbiamo una persona diversa oggetto var persona uguale a parentesi graffe e dentro che stiamo impostando il nome per essere Travis età per

39
00:02:34,860 --> 00:02:42,060
essere 21 in città per essere L. UN. quaggiù abbiamo un semplice diagramma di come appare

40
00:02:42,060 --> 00:02:43,020
questa struttura dati.

41
00:02:43,020 --> 00:02:47,970
Abbiamo tre diversi slot in questo oggetto ed è molto importante notare che gli oggetti non hanno alcuno

42
00:02:48,000 --> 00:02:53,690
costruito in modo diverso da un array dove c'è un primo oggetto e un secondo oggetto e un terzo elemento.

43
00:02:53,700 --> 00:02:58,380
Pensa agli oggetti invece che a un dato oggetto, semplicemente fluttuando all'interno se non c'è

44
00:02:58,380 --> 00:02:59,040
un ordine.

45
00:02:59,040 --> 00:03:04,860
Nessuna proprietà viene prima o seconda, non importa come li ho dichiarati in quale ordine sono tutti trattati allo

46
00:03:04,860 --> 00:03:05,600
stesso modo.

47
00:03:05,610 --> 00:03:10,180
Quindi questo diagramma li mostra in un ordine ma è solo perché ho dovuto scegliere un ordine.

48
00:03:10,680 --> 00:03:14,620
Quindi puoi vedere che Travis è memorizzato sotto il nome della chiave.

49
00:03:14,850 --> 00:03:17,220
21 viene memorizzato sotto l'età della chiave.

50
00:03:17,370 --> 00:03:23,190
E io. UN. è memorizzato sotto la città chiave per recuperare i dati da un oggetto.

51
00:03:23,190 --> 00:03:24,970
Abbiamo due scelte.

52
00:03:25,200 --> 00:03:31,800
Possiamo usare sia il nome delle parentesi quadre dell'oggetto persona che il nome della chiave.

53
00:03:32,130 --> 00:03:35,820
Quindi in questo caso sto prendendo Travis dall'oggetto della persona.

54
00:03:35,820 --> 00:03:39,610
Così ho ragione persona parentesi quadre nome tra virgolette.

55
00:03:39,630 --> 00:03:41,620
Quindi è molto simile agli array.

56
00:03:41,670 --> 00:03:43,920
L'unica differenza è che questo non è un numero.

57
00:03:43,950 --> 00:03:45,890
Questa è una stringa.

58
00:03:45,930 --> 00:03:51,140
L'altra opzione è usare la notazione a punti la notazione a punti è un po 'più breve e più semplice.

59
00:03:51,150 --> 00:03:58,500
Il nome e il nome del puntino della persona giusta devono corrispondere ovviamente al nome della chiave e questo ci

60
00:03:58,500 --> 00:03:59,610
darà anche Travis.

61
00:03:59,880 --> 00:04:02,320
Ho intenzione di andare avanti e dimostrare che nel con. Ho intenzione di creare un nuovo oggetto chiamato cane e il mio cane avrà sempre un nome di proprietà.

62
00:04:02,340 --> 00:04:10,640
Rusty He è il miglior cane e metà razza.

63
00:04:10,740 --> 00:04:14,390
È un bastardo Lassally Age e ha tre anni.

64
00:04:14,760 --> 00:04:22,140
In modo che mi dà il mio cane oggetto.

65
00:04:22,590 --> 00:04:24,720
E se lo guardiamo nella console puoi vederlo, mi dice che è un oggetto.

66
00:04:24,840 --> 00:04:28,350
Il tuo nome è razza razza come fango di 3 anni.

67
00:04:28,350 --> 00:04:32,180
Quindi se voglio accedere alla sua età fuori dall'oggetto del cane, posso

68
00:04:32,190 --> 00:04:39,990
fare il primo cane intatto e poi tra virgole invecchiano ne ottengono tre o posso fare dog dot age e ne ottengo anche tre.

69
00:04:40,350 --> 00:04:47,970
Spetta a te utilizzare uno dei due.

70
00:04:48,120 --> 00:04:50,190
Preferisco usare l'età del cane perché è più corto.

71
00:04:50,190 --> 00:04:53,100
Non devi usare le virgolette.

72
00:04:53,100 --> 00:04:54,380
Non hai bisogno di doppie parentesi su entrambi i lati.

73
00:04:54,390 --> 00:04:56,570
Ne hai solo bisogno.

74
00:04:56,700 --> 00:04:57,880
Ma ci sono alcune differenze su questa diapositiva.

75
00:04:58,350 --> 00:05:01,100
Dimostro tre delle principali differenze.

76
00:05:01,110 --> 00:05:03,750
Quindi non è possibile utilizzare la notazione a punti se la proprietà inizia con un numero.

77
00:05:04,140 --> 00:05:08,850
Quindi puoi vedere che qui alcuni oggetti al DOT uno blah non sono validi.

78
00:05:08,850 --> 00:05:14,580
Ma se avessi una proprietà chiamata One blah dovrei usare parentesi quadre e metterla

79
00:05:15,090 --> 00:05:20,660
tra virgolette e questo è solo il modo in cui è impostato in javascript.

80
00:05:20,660 --> 00:05:23,040
proprietà contiene uno spazio come il colore preferito.

81
00:05:23,040 --> 00:05:28,290
Qui salterò al terzo esempio che non è possibile utilizzare la notazione a punti se il nome della

82
00:05:28,290 --> 00:05:31,450
Ovviamente questo non funziona.

83
00:05:31,500 --> 00:05:33,240
Javascript pensa che stiamo accedendo a dot fav

84
00:05:33,240 --> 00:05:38,820
Quindi se vogliamo una proprietà con lo spazio che non è davvero una buona pratica, ma se lo facessimo avremmo bisogno di usare le virgolette.

85
00:05:38,820 --> 00:05:42,600
Fav.

86
00:05:42,620 --> 00:05:43,130
Colore dello spazio usando la notazione della parentesi quadra.

87
00:05:43,170 --> 00:05:46,150
E poi l'esempio intermedio mostra che puoi cercare le cose usando una variabile.

88
00:05:46,890 --> 00:05:51,370
Se si utilizza la notazione delle parentesi.

89
00:05:51,420 --> 00:05:53,160
Quindi se ho una variabile

90
00:05:53,370 --> 00:06:00,900
qui chiamata string o come TR E 'uguale al nome tra virgolette se provo a fare qualche oggetto come TR. Cercherò solo

91
00:06:00,900 --> 00:06:09,300
la proprietà come TR Ma se faccio qualche oggetto parentesi quadra come TR sta per valutare come TR che ci dà il nome tra virgolette.

92
00:06:09,300 --> 00:06:14,970
Quindi questo cercherà quindi la proprietà name in qualche oggetto.

93
00:06:14,970 --> 00:06:19,560
Quindi questo è qualcosa che vedremo di tanto in tanto.

94
00:06:19,560 --> 00:06:22,290
Quindi vale la pena conoscere la differenza qui.

95
00:06:22,320 --> 00:06:24,040
Puoi utilizzare la notazione delle parentesi quadre usando un nome di variabile per cercare una proprietà.

96
00:06:24,060 --> 00:06:29,700
La prossima cosa che vogliamo fare è essere in grado di aggiornare i dati all'interno di un oggetto.

97
00:06:29,820 --> 00:06:34,140
Quindi è molto simile agli array in cui accediamo ai dati e quindi li riassegniamo con un segno di uguale.

98
00:06:34,410 --> 00:06:40,190
Quindi qui puoi vedere che abbiamo la nostra stessa persona nome oggetto come età Travis è 21 città è L. UN. Se voglio aggiungerne uno a Traviss, è

99
00:06:40,470 --> 00:06:47,970
il suo compleanno.

100
00:06:47,970 --> 00:06:51,230
Tutto quello che devo fare è accedere all'età della persona.

101
00:06:51,450 --> 00:06:54,160
Posso usare parentesi quadre o la notazione dei punti e poi riassegnare.

102
00:06:54,570 --> 00:06:58,430
Quindi l'età persona più uguale a 1.

103
00:06:58,560 --> 00:07:01,170
Quindi aggiungerò una persona di quell'età

104
00:07:01,710 --> 00:07:08,940
che ora è 22 o posso usare la persona dot city e riassegnare quella per essere Londra.

105
00:07:08,940 --> 00:07:09,500
Così la città in su uguale a Londra ora farà diventare la città di Londra.

106
00:07:09,660 --> 00:07:15,490
Quindi, solo per dimostrarlo.

107
00:07:15,510 --> 00:07:16,990
Torniamo al nostro oggetto canino che ha il nome di Ruttoso allevatore bastardo.

108
00:07:17,280 --> 00:07:22,200
L'età è tre

109
00:07:22,230 --> 00:07:23,850
Rusty ha appena avuto un compleanno, quindi ho intenzione di cambiare il suo cane di età.

110
00:07:23,880 --> 00:07:28,050
L'età è uguale a quella che potrei fare equivale a

111
00:07:28,080 --> 00:07:34,080
quattro, il che equivale a fare quattro, non importa cosa, e posso guardare il cane.

112
00:07:34,730 --> 00:07:36,260
O potrei fare il cane.

113
00:07:36,930 --> 00:07:39,070
L'età più equivale a una che aggiungerà solo una all'età esistente e che ci dà cinque.

114
00:07:39,150 --> 00:07:45,940
Dimostrerò anche di farlo con la notazione della parentesi quadra.

115
00:07:45,990 --> 00:07:49,180
Diciamo che voglio cambiare il nome di Rusty per essere il suo soprannome Tater.

116
00:07:49,230 --> 00:07:53,110
Vorrei scrivere il nome della parentesi quadrata del cane e questo mi dà solo resti e poi lo riassegnerò per essere Tator.

117
00:07:53,450 --> 00:08:01,710
E se guardi il cane, ora abbiamo chiamato Tator liberato all'età di 5 anni.

118
00:08:03,120 --> 00:08:10,200
Ci sono diversi modi per inizializzare gli oggetti proprio come abbiamo visto con

119
00:08:10,320 --> 00:08:16,050
una gara, così possiamo creare un oggetto vuoto prima come noi.

120
00:08:16,050 --> 00:08:19,540
Var persona è uguale a parentesi graffe vuote e quindi possiamo aggiungere i dati dopo il fatto.

121
00:08:19,740 --> 00:08:24,560
Un pezzo alla volta.

122
00:08:24,600 --> 00:08:26,240
Il nome della persona è la persona di Travis che ha 21 anni che la città è L. UN. possiamo fare tutto in una volta, che

123
00:08:26,360 --> 00:08:33,330
è ciò che abbiamo visto finora è chiamato notazione letterale dell'oggetto.

124
00:08:33,330 --> 00:08:37,040
Finora la persona è uguale e poi dentro le

125
00:08:37,140 --> 00:08:43,860
parentesi graffe, scrivo solo il nome della mia proprietà Travis age call e 21 city Colan L. UN. e l'ultimo modo che non vedrai molto spesso fino a molto più tardi in javascript.

126
00:08:43,860 --> 00:08:50,910
Ha detto che posso usare il nuovo oggetto che

127
00:08:51,330 --> 00:08:57,450
è una funzione proprio come un nuovo array che ci farà diventare un nuovo oggetto e restituirlo a noi come oggetto vuoto.

128
00:08:57,510 --> 00:08:59,740
E poi posso aggiungere persona nome persona non età in persona città.

129
00:08:59,880 --> 00:09:03,570
Quindi sicuramente vedrai questa sintassi e questa sintassi molto più spesso per ora.

130
00:09:03,810 --> 00:09:08,940
Un altro punto che vorrei fare riguardo agli oggetti è che, proprio come gli array, possono contenere qualsiasi tipo di dati.

131
00:09:08,940 --> 00:09:14,160
Quindi i nostri dati possono essere numeri o stringhe o booleani un array anche un altro oggetto come puoi vedere qui.

132
00:09:14,610 --> 00:09:21,410
Proprio come gli array, possiamo combinare tutto quello che vorremmo.

133
00:09:21,630 --> 00:09:24,460
Quindi ci fermeremo qui per ora nel prossimo

134
00:09:24,480 --> 00:09:28,770
video, faremo un confronto tra gli oggetti e cancelleremo la sintassi

135
00:09:28,800 --> 00:09:29,850
&nbsp;
