1
00:00:00,780 --> 00:00:01,860
Welkom terug.

2
00:00:01,860 --> 00:00:09,250
Dus in de laatste paar video's die we hebben gesproken over javascript arrays, die de eerste gegevens structuur die we over hebben gesproken in de komende paar video's zijn.

3
00:00:09,270 --> 00:00:12,660
We gaan een nother datastructuur noemde het object te introduceren.

4
00:00:13,140 --> 00:00:16,070
Dus hebben we twee hoofddoelstellingen net zoals we deden met arrays.

5
00:00:16,080 --> 00:00:20,070
We willen eerst begrijpen wat objecten zijn waarom we ze gebruiken.

6
00:00:20,100 --> 00:00:21,900
Hoe gaan ze te vergelijken met een array.

7
00:00:21,900 --> 00:00:26,350
En dan de tweede doelstelling is hoe doen we schrijven wat code met behulp van JavaScript-objecten.

8
00:00:26,790 --> 00:00:29,370
Laten we ga je gang en aan de slag.

9
00:00:29,400 --> 00:00:31,470
Dus hier is een hypothetische situatie.

10
00:00:31,470 --> 00:00:35,730
Stel dat ik wilde een enkele persoon in javascript's te modelleren.

11
00:00:35,760 --> 00:00:38,850
Ieder mens heeft een naam en leeftijd en een stad.

12
00:00:38,850 --> 00:00:46,580
Dus er is een heleboel manieren ik kon doen, dat ik drie verschillende variabelen naam van de leeftijd en de stad, maar dan zijn ze niet gerelateerd aan elkaar kunnen hebben.

13
00:00:46,590 --> 00:00:47,780
Ze zijn volledig gescheiden.

14
00:00:47,970 --> 00:00:57,510
Dus als ik wilde om ze te verbinden Ik kon een array alsof ik hier aan het doen var persoon is gelijk aan matrix, waar het eerste item is de naam Cindy.

15
00:00:57,600 --> 00:01:03,780
Het tweede punt is de leeftijd 32 en het laatste item is Missoula of de stad.

16
00:01:03,780 --> 00:01:08,510
Dit is niet echt een groot gebruik van een array, omdat deze gegevens niet echt een lijst.

17
00:01:08,760 --> 00:01:16,440
Ja, we kan forceren in een array, maar het leent zich niet tot het formaat van een reeks waar we lijsten die vaak een logische volgorde.

18
00:01:16,530 --> 00:01:20,770
Er is niet echt een logische volgorde hier om de stad uit deze serie.

19
00:01:21,000 --> 00:01:23,970
Ik zou moeten persoon beugel te schrijven.

20
00:01:24,270 --> 00:01:28,360
En dat vereist me om te weten dat de stad is op index ook.

21
00:01:28,500 --> 00:01:36,530
Dus als ik per ongeluk de volgorde om te keren en ik had Traviss de naam upfront index 0, maar dan meng ik deze twee omhoog.

22
00:01:36,540 --> 00:01:41,300
Dus ik had op index 1 stad een leeftijd index 2.

23
00:01:41,520 --> 00:01:48,060
Dan als ik probeerde om tot persoon beugel 2 Ik zou krijgen leeftijd in plaats van de stad.

24
00:01:48,060 --> 00:01:53,370
Dus dit is allemaal gewoon om te laten zien dat een array is niet de perfecte oplossing voor elke situatie.

25
00:01:53,370 --> 00:01:58,040
Er is veel beter datastructuur voor ons om hier te gebruiken die het javascript object.

26
00:01:58,110 --> 00:02:05,630
U kunt een voorbeeld hier beneden van de manier waarop we de persoon array met de naam de leeftijd en de stad zou nemen en zet hem in een javascript-object.

27
00:02:05,790 --> 00:02:10,820
Het eerste wat je zou moeten opvallen is dat we accolades in plaats van vierkante haken voor een serie.

28
00:02:10,890 --> 00:02:15,470
De volgende belangrijke stuk is dat elk punt in dit object is een belangrijke waarde paar.

29
00:02:15,750 --> 00:02:21,050
Dus we hebben een eigenschap Colan waarde naam is.

30
00:02:21,180 --> 00:02:25,500
Leeftijd is 32 stad Missoula.

31
00:02:25,500 --> 00:02:27,360
Deze slide toont precies hetzelfde.

32
00:02:27,450 --> 00:02:43,020
We hebben een andere var persoon object persoon is gelijk aan accolades en binnen dat we het instellen van de naam te zijn Travis meerderjarig te zijn 21 in de stad om L.A. zijn hier beneden hebben we een eenvoudig schema van wat deze datastructuur eruit ziet.

33
00:02:43,020 --> 00:02:53,690
We hebben drie verschillende sleuven in dit object en het is echt belangrijk op te merken dat de objecten hebben geen gebouwd om in tegenstelling tot een serie waar er een eerste punt en een tweede punt en een derde punt.

34
00:02:53,700 --> 00:02:59,040
Denk aan de items in plaats van een bepaald object als gewoon rondzweven binnen, indien er is er niet een bestelling.

35
00:02:59,040 --> 00:03:05,600
Geen eigenschap komt op de eerste of tweede maakt het niet uit hoe ik ze in welke volgorde ze zijn allemaal hetzelfde behandeld verklaard.

36
00:03:05,610 --> 00:03:10,180
Dus dit diagram toont ze in een orde, maar dat is alleen maar omdat ik moest een bestelling halen.

37
00:03:10,680 --> 00:03:14,620
Zodat u kunt zien Travis wordt opgeslagen onder de sleutel naam.

38
00:03:14,850 --> 00:03:17,220
21 wordt opgeslagen onder de sleutel leeftijd.

39
00:03:17,370 --> 00:03:23,190
En L.A. wordt opgeslagen onder de sleutel stad om data uit van een object op te halen.

40
00:03:23,190 --> 00:03:24,970
We hebben twee keuzes.

41
00:03:25,200 --> 00:03:31,800
We kunnen gebruik maken van de naam van het object persoon vierkante haken en vervolgens de naam van de sleutel.

42
00:03:32,130 --> 00:03:35,820
Dus in dit geval ben ik het krijgen van Travis van de persoon object.

43
00:03:35,820 --> 00:03:39,610
Dus ik juiste persoon vierkante haakjes naam tussen aanhalingstekens.

44
00:03:39,630 --> 00:03:41,620
Dus dat is zeer vergelijkbaar met arrays.

45
00:03:41,670 --> 00:03:43,920
Het enige verschil is dat dit geen getal.

46
00:03:43,950 --> 00:03:45,890
Dit is een string.

47
00:03:45,930 --> 00:03:51,140
De andere optie is het gebruik van puntnotatie puntnotatie is een beetje korter en eenvoudiger.

48
00:03:51,150 --> 00:03:59,610
Rechts Person dot naam en de naam moet uiteraard overeen met de naam van de sleutel en dat zal ons ook Travis.

49
00:03:59,880 --> 00:04:02,320
Ik ga om verder te gaan en aan te tonen dat in de con ..

50
00:04:02,340 --> 00:04:10,640
Ik ga een nieuw object met de naam de hond te maken en mijn hond gaat om een ​​naam eigenschap hebben zoals altijd.

51
00:04:10,740 --> 00:04:14,390
Rusty Hij is de beste hond en half ras.

52
00:04:14,760 --> 00:04:22,140
Hij is een straathond Lassally leeftijd en hij is drie.

53
00:04:22,590 --> 00:04:24,720
Dus dat geeft me mijn object hond.

54
00:04:24,840 --> 00:04:28,350
En als we kijken naar het in de console zie je het vertelt me ​​dat het een object.

55
00:04:28,350 --> 00:04:32,180
Uw naam is Resti ras modder leeftijden 3.

56
00:04:32,190 --> 00:04:47,970
Dus als ik wil toegang krijgen tot zijn leeftijd van de hond object kan ik de eerste intact hond doen en dan tussen aanhalingstekens leeftijd krijgen ze drie of ik kan hond dot leeftijd te doen en ik ook drie.

57
00:04:48,120 --> 00:04:50,190
Het is aan jou om een ​​van beide te gebruiken.

58
00:04:50,190 --> 00:04:53,100
Ik geef de voorkeur aan de hond hond leeftijd te gebruiken, want het is korter.

59
00:04:53,100 --> 00:04:54,380
Je hoeft niet naar de aanhalingstekens te gebruiken.

60
00:04:54,390 --> 00:04:56,570
U hoeft geen dubbele beugels moeten aan beide zijden.

61
00:04:56,700 --> 00:04:57,880
Je moet het gewoon.

62
00:04:58,350 --> 00:05:01,100
Er zijn enkele verschillen op deze dia.

63
00:05:01,110 --> 00:05:03,750
Ik tonen drie van de belangrijkste verschillen.

64
00:05:04,140 --> 00:05:08,850
Dus je kunt niet gebruiken puntnotatie als het pand begint met een nummer.

65
00:05:08,850 --> 00:05:14,580
Zo kunt u dat hier ziet een object op DOT één blah is niet geldig.

66
00:05:15,090 --> 00:05:23,040
Maar als ik had een eigenschap genaamd One blah ik zou moeten vierkante haken gebruiken en zet het tussen aanhalingstekens en dat is gewoon de manier waarop het is opgezet in javascript.

67
00:05:23,040 --> 00:05:31,450
Ik ga naar beneden te springen naar de derde voorbeeld hier en dat is dat je puntnotatie niet kunt gebruiken als uw eigendom naam heeft een ruimte in het als fav kleur.

68
00:05:31,500 --> 00:05:33,240
Uiteraard is dit het werkt niet.

69
00:05:33,240 --> 00:05:42,600
Javascript denkt dat we de toegang dot fav Dus als we willen een woning met de ruimte die niet echt een goede praktijk toch maar als we wisten we zouden moeten aanhalingstekens te gebruiken.

70
00:05:42,620 --> 00:05:43,130
Fav.

71
00:05:43,170 --> 00:05:46,150
Space kleur met vierkante haakjesnotering.

72
00:05:46,890 --> 00:05:51,370
En dan is de middelste voorbeeld laat zien dat je kunt opzoeken wat er met behulp van een variabele.

73
00:05:51,420 --> 00:05:53,160
Als u gebruik maken van haakjesnotering.

74
00:05:53,370 --> 00:06:14,970
Dus als ik een variabele hier genaamd touw of als TR En het is gelijk aan de naam tussen aanhalingstekens als ik probeer en doe wat object als TR Het zal gewoon op zoek naar de woning als TR Maar als ik doe wat square bracket object als TR Het gaat om evalueren TR die ons naam geeft tussen aanhalingstekens.

75
00:06:14,970 --> 00:06:19,560
Dus dit zal dan kijken de eigenschap name in sommige object.

76
00:06:19,560 --> 00:06:22,290
Dus dit is iets wat we ook daadwerkelijk af en toe zien.

77
00:06:22,320 --> 00:06:24,040
Dus het is de moeite waard wetende dat het verschil hier.

78
00:06:24,060 --> 00:06:29,700
U kunt vierkante haakjesnotering gebruiken met behulp van een variabele naam op te zoeken van een woning.

79
00:06:29,820 --> 00:06:34,140
Het volgende dat we willen doen is in staat om informatie bij te werken binnenkant van een object.

80
00:06:34,410 --> 00:06:40,190
Dus het is zeer vergelijkbaar met arrays, waar we toegang tot de gegevens en ken deze vervolgens met een gelijk teken.

81
00:06:40,470 --> 00:06:51,230
Dus hier je kunt zien hebben we onze dezelfde persoon zijn naam object als Travis leeftijd is 21 stad is L.A. Als ik wil een toe te voegen aan Traviss leeftijd het is zijn verjaardag.

82
00:06:51,450 --> 00:06:54,160
Alles wat ik moet doen is toegang leeftijd.

83
00:06:54,570 --> 00:06:58,430
Ik kan haken of puntnotatie gebruiken en vervolgens opnieuw toewijzen.

84
00:06:58,560 --> 00:07:01,170
Dus persoon leeftijd plus is gelijk aan 1.

85
00:07:01,710 --> 00:07:09,500
Dus dat zal een persoon toe te voegen die leeftijd nu 22 of ik kan iemand gebruik dot stad en toewijzen die naar Londen zijn.

86
00:07:09,660 --> 00:07:15,490
Dus persoon up stad is gelijk aan Londen zal nu ingesteld persoon in de city van Londen.

87
00:07:15,510 --> 00:07:16,990
Dus gewoon om aan te tonen dat.

88
00:07:17,280 --> 00:07:22,200
Laten we teruggaan naar onze hond object dat naam als Rusty fokkers straathond heeft te gaan.

89
00:07:22,230 --> 00:07:23,850
Leeftijd is drie.

90
00:07:23,880 --> 00:07:28,050
Rusty had net een verjaardag, dus ik ga naar zijn leeftijd hond te veranderen.

91
00:07:28,080 --> 00:07:36,260
Leeftijd is gelijk aan en ik kon dit doen is vier die net gaat om het vier niet uit wat en ik kan kijken hond.

92
00:07:36,930 --> 00:07:39,070
Of ik kon hond te doen.

93
00:07:39,150 --> 00:07:45,940
Leeftijd plus gelijk aan één die net zal toevoegen ene naar de bestaande leeftijd en dat geeft ons vijf.

94
00:07:45,990 --> 00:07:49,180
Ik zal ook laten zien dat het doen met het kwadraat haakjesnotering.

95
00:07:49,230 --> 00:07:53,110
Laten we zeggen dat ik wil de naam Rusty's te veranderen aan zijn bijnaam Tater zijn.

96
00:07:53,450 --> 00:08:02,730
Ik zou hond vierkante haak naam te schrijven en dat alleen geeft me Resti en dan zal ik het opnieuw toewijzen aan Tator zijn.

97
00:08:03,120 --> 00:08:10,200
En als je kijkt naar de hond die we nu hebben genoemd Tator bevrijd op de leeftijd van 5.

98
00:08:10,320 --> 00:08:19,540
Er zijn een paar verschillende manieren om het initialiseren van objecten net zoals we zagen met een race, dus we kunnen ofwel een leeg object voor het eerst dat we hier hebben.

99
00:08:19,740 --> 00:08:24,560
Var persoon is gelijk aan lege accolades en dan kunnen we de gegevens toe te voegen na het feit.

100
00:08:24,600 --> 00:08:26,240
Een stuk op een moment.

101
00:08:26,360 --> 00:08:37,040
Persoon naam is Travis persoon die de leeftijd van 21 persoon die stad is L.A. kunnen we het allemaal in een keer en dat is wat we tot nu toe hebben gezien heet object letterlijke notatie doen.

102
00:08:37,140 --> 00:08:51,260
Tot nu toe zijn persoon is gelijk aan en dan binnen de accolades ik schrijf gewoon mijn eigendom naam Travis leeftijd gesprek en 21 stad Colan L.A. en de laatste manier die je niet vaak ziet pas veel later in javascript.

103
00:08:51,330 --> 00:08:59,740
Hij zei dat ik kan het nieuwe object dat een functie is net als een nieuwe array die ons een nieuw object te maken en terug te sturen naar ons als een leeg object gebruiken.

104
00:08:59,880 --> 00:09:03,570
En dan kan ik persoonsnaam persoon niet de leeftijd toe te voegen in de persoon van de stad.

105
00:09:03,810 --> 00:09:08,940
Dus zul je zeker veel vaker zie deze syntaxis en deze syntax voor nu.

106
00:09:08,940 --> 00:09:14,330
Een ander punt dat ik zou willen maken over objecten is dat net als arrays kunnen ze elke vorm van gegevens bevatten.

107
00:09:14,610 --> 00:09:21,410
Dus onze data kunnen getallen of strings of booleans een array zelfs een ander object zoals je hier kunt zien.

108
00:09:21,630 --> 00:09:24,460
Net zoals we arrays kunnen mixen en matchen zoveel als we zouden willen.
