Ben tornato.
Quindi negli ultimi video abbiamo parlato di array di javascript che sono la prima struttura di dati
di cui abbiamo parlato nei prossimi video.
Introdurremo una nuova struttura dati chiamata oggetto.
Quindi abbiamo due obiettivi principali proprio come abbiamo fatto con gli array.
Prima vogliamo capire quali oggetti sono il motivo per cui li usiamo.
Come si confrontano con un array.
E poi il secondo obiettivo è come scrivere codice usando gli oggetti javascript.
Andiamo avanti e cominciamo.
Quindi ecco una situazione ipotetica.
Supponiamo che volessi modellare una singola persona in javascript.
Ogni persona ha un nome, un'età e una città.
Quindi ci sono molti modi in cui potrei fare che potrei avere tre diverse variabili, nome età e città, ma poi
non sono correlate tra loro.
Sono totalmente separati.
come quello che sto facendo qui var person è uguale a array dove il primo oggetto è nome Cindy.
Quindi, se volessi collegarli, potrei usare un array
Il secondo oggetto è di 32 anni e l'ultimo oggetto è Missoula o la città.
Questo non è davvero un grande uso di un array perché questi dati non sono realmente una lista.
Sì, possiamo forzarlo in un array ma non si presta al formato di un array in cui
abbiamo liste che spesso hanno un ordine logico.
Non c'è davvero un ordine logico qui per accedere alla città da questo array.
Avrei bisogno di scrivere anche la parentesi.
E questo mi richiede di sapere che anche la città è indice.
Quindi se accidentalmente invertivo l'ordine e ho avuto il nome di Traviss nel primo indice 0, ma poi li ho
mixati.
Così ho avuto a indice 1 città un'età a indice 2.
Quindi, se provassi ad accedere alla persona alla parentesi 2, avrei avuto l'età invece della città.
Quindi questo è tutto per dimostrare che un array non è la soluzione perfetta per ogni situazione.
C'è una struttura dati molto migliore da usare qui che è l'oggetto javascript.
Qui puoi vedere un esempio di come porteremmo l'array persona con il nome età e città e
trasformarlo in un oggetto javascript.
La prima cosa che dovresti notare è che abbiamo parentesi graffe anziché parentesi quadre per un array.
Il prossimo pezzo importante è che ogni oggetto in questo oggetto è una coppia di valori chiave.
Quindi abbiamo una proprietà che il nome del valore di Colan è.
L'età è 32 città è Missoula.
Questa diapositiva mostra la stessa identica cosa.
Abbiamo una persona diversa oggetto var persona uguale a parentesi graffe e dentro che stiamo impostando il nome per essere Travis età per
essere 21 in città per essere L. UN. quaggiù abbiamo un semplice diagramma di come appare
questa struttura dati.
Abbiamo tre diversi slot in questo oggetto ed è molto importante notare che gli oggetti non hanno alcuno
costruito in modo diverso da un array dove c'è un primo oggetto e un secondo oggetto e un terzo elemento.
Pensa agli oggetti invece che a un dato oggetto, semplicemente fluttuando all'interno se non c'è
un ordine.
Nessuna proprietà viene prima o seconda, non importa come li ho dichiarati in quale ordine sono tutti trattati allo
stesso modo.
Quindi questo diagramma li mostra in un ordine ma è solo perché ho dovuto scegliere un ordine.
Quindi puoi vedere che Travis è memorizzato sotto il nome della chiave.
21 viene memorizzato sotto l'età della chiave.
E io. UN. è memorizzato sotto la città chiave per recuperare i dati da un oggetto.
Abbiamo due scelte.
Possiamo usare sia il nome delle parentesi quadre dell'oggetto persona che il nome della chiave.
Quindi in questo caso sto prendendo Travis dall'oggetto della persona.
Così ho ragione persona parentesi quadre nome tra virgolette.
Quindi è molto simile agli array.
L'unica differenza è che questo non è un numero.
Questa è una stringa.
L'altra opzione è usare la notazione a punti la notazione a punti è un po 'più breve e più semplice.
Il nome e il nome del puntino della persona giusta devono corrispondere ovviamente al nome della chiave e questo ci
darà anche Travis.
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à.
Rusty He è il miglior cane e metà razza.
È un bastardo Lassally Age e ha tre anni.
In modo che mi dà il mio cane oggetto.
E se lo guardiamo nella console puoi vederlo, mi dice che è un oggetto.
Il tuo nome è razza razza come fango di 3 anni.
Quindi se voglio accedere alla sua età fuori dall'oggetto del cane, posso
fare il primo cane intatto e poi tra virgole invecchiano ne ottengono tre o posso fare dog dot age e ne ottengo anche tre.
Spetta a te utilizzare uno dei due.
Preferisco usare l'età del cane perché è più corto.
Non devi usare le virgolette.
Non hai bisogno di doppie parentesi su entrambi i lati.
Ne hai solo bisogno.
Ma ci sono alcune differenze su questa diapositiva.
Dimostro tre delle principali differenze.
Quindi non è possibile utilizzare la notazione a punti se la proprietà inizia con un numero.
Quindi puoi vedere che qui alcuni oggetti al DOT uno blah non sono validi.
Ma se avessi una proprietà chiamata One blah dovrei usare parentesi quadre e metterla
tra virgolette e questo è solo il modo in cui è impostato in javascript.
proprietà contiene uno spazio come il colore preferito.
Qui salterò al terzo esempio che non è possibile utilizzare la notazione a punti se il nome della
Ovviamente questo non funziona.
Javascript pensa che stiamo accedendo a dot fav
Quindi se vogliamo una proprietà con lo spazio che non è davvero una buona pratica, ma se lo facessimo avremmo bisogno di usare le virgolette.
Fav.
Colore dello spazio usando la notazione della parentesi quadra.
E poi l'esempio intermedio mostra che puoi cercare le cose usando una variabile.
Se si utilizza la notazione delle parentesi.
Quindi se ho una variabile
qui chiamata string o come TR E 'uguale al nome tra virgolette se provo a fare qualche oggetto come TR. Cercherò solo
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.
Quindi questo cercherà quindi la proprietà name in qualche oggetto.
Quindi questo è qualcosa che vedremo di tanto in tanto.
Quindi vale la pena conoscere la differenza qui.
Puoi utilizzare la notazione delle parentesi quadre usando un nome di variabile per cercare una proprietà.
La prossima cosa che vogliamo fare è essere in grado di aggiornare i dati all'interno di un oggetto.
Quindi è molto simile agli array in cui accediamo ai dati e quindi li riassegniamo con un segno di uguale.
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, è
il suo compleanno.
Tutto quello che devo fare è accedere all'età della persona.
Posso usare parentesi quadre o la notazione dei punti e poi riassegnare.
Quindi l'età persona più uguale a 1.
Quindi aggiungerò una persona di quell'età
che ora è 22 o posso usare la persona dot city e riassegnare quella per essere Londra.
Così la città in su uguale a Londra ora farà diventare la città di Londra.
Quindi, solo per dimostrarlo.
Torniamo al nostro oggetto canino che ha il nome di Ruttoso allevatore bastardo.
L'età è tre
Rusty ha appena avuto un compleanno, quindi ho intenzione di cambiare il suo cane di età.
L'età è uguale a quella che potrei fare equivale a
quattro, il che equivale a fare quattro, non importa cosa, e posso guardare il cane.
O potrei fare il cane.
L'età più equivale a una che aggiungerà solo una all'età esistente e che ci dà cinque.
Dimostrerò anche di farlo con la notazione della parentesi quadra.
Diciamo che voglio cambiare il nome di Rusty per essere il suo soprannome Tater.
Vorrei scrivere il nome della parentesi quadrata del cane e questo mi dà solo resti e poi lo riassegnerò per essere Tator.
E se guardi il cane, ora abbiamo chiamato Tator liberato all'età di 5 anni.
Ci sono diversi modi per inizializzare gli oggetti proprio come abbiamo visto con
una gara, così possiamo creare un oggetto vuoto prima come noi.
Var persona è uguale a parentesi graffe vuote e quindi possiamo aggiungere i dati dopo il fatto.
Un pezzo alla volta.
Il nome della persona è la persona di Travis che ha 21 anni che la città è L. UN. possiamo fare tutto in una volta, che
è ciò che abbiamo visto finora è chiamato notazione letterale dell'oggetto.
Finora la persona è uguale e poi dentro le
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.
Ha detto che posso usare il nuovo oggetto che
è una funzione proprio come un nuovo array che ci farà diventare un nuovo oggetto e restituirlo a noi come oggetto vuoto.
E poi posso aggiungere persona nome persona non età in persona città.
Quindi sicuramente vedrai questa sintassi e questa sintassi molto più spesso per ora.
Un altro punto che vorrei fare riguardo agli oggetti è che, proprio come gli array, possono contenere qualsiasi tipo di dati.
Quindi i nostri dati possono essere numeri o stringhe o booleani un array anche un altro oggetto come puoi vedere qui.
Proprio come gli array, possiamo combinare tutto quello che vorremmo.
Quindi ci fermeremo qui per ora nel prossimo
video, faremo un confronto tra gli oggetti e cancelleremo la sintassi