Napisałam program, aby opowiedzieć o Winstonie. Są pikantne szczegóły,
ale niedużo, bo Winston lubi mieć tajemnice.
Taki charakter.
Zobaczmy, jak napisałam ten program.
Zmienne u góry przechowują informacje o Winstonie.
Pierwsza - to liczba, czyli wiek,
druga - ciąg znaków (oczy),
trzecia - tablica słów (ulubione zajęcia),
a ciągi znaków w 2 ostatnich zmiennych dotyczą miejsca urodzenia.
Napisałam to u dołu z użyciem polecenia „text”
i nazwy zmiennej.
A do elementów tablicy mam dostęp przez nawiasy kwadratowe.
W porządku.
Cała piątka zmiennych
zawiera informacje na jeden temat: Winstona.
Ale zmienne nie wiedzą, że dotyczą tego samego.
A w JavaScript,
gdy chcemy przechowywać różne, ale powiązane informacje,
mamy na to świetny sposób.
Chodzi o obiekt.
Zamiast pięciu zmiennych
możemy mieć jedną, która przechowa wszystkie te informacje. Super!
Wypróbujmy to na Winstonie.
Najpierw określimy zmienną i nazwiemy ją „Winston”.
Potem otworzymy klamrę
(nie nawias kwadratowy!)
i wstawimy średnik.
Stworzyliśmy obiekt, ale nie zawiera on informacji.
Żeby dodać informacje, musimy dodać właściwości.
Właściwość - to klucz i wartość.
Np. wiek opiszemy jako „wiek: 19”.
Dobrze. Przy oczach wstawimy przecinek
i damy „oczy, czarne”.
Winston ma teraz dwie właściwości w obiekcie.
Co do ulubionych zajęć... Piszemy „lubi:”
po czym kopiuję i wklejam to.
Bardzo ładnie.
Patrzcie: Winston ma trzy właściwości.
Każda właściwość składa się z klucza,
po prawej stronie,
i wartości, po stronie lewej.
Klucz ma być zgodny z zasadami JavaScript co do nazw zmiennych.
Bez spacji, początek od litery itp.
Wartość może być każdego typu, jaki znamy.
Liczba, ciąg znaków, tablica...
nawet wyrażenie logiczne.
Możemy dodać: „jest_fajny : prawda”. Oczywiście!
Wartością może być nawet inny obiekt!
Miasto i stan, gdzie Winston się urodził.
Te informacje dotyczą tego samego: jednego miejsca.
Zatem lepiej przechowywać to jako obiekt.
Dodam klucz, „miejsce urodzenia”,
a co do wartości... zrobię klamry
i w środku napiszę klucz dla miasta:
„Mountain View”,
i stanu: „Kalifornia”.
Świetnie!
Widzicie, że w obiekcie można przechowywać dużo informacji.
Kiedy już mamy obiekt z informacjami o Winstonie,
spróbujmy skasować stare oddzielne zmienne,
które nie wiedziały o sobie nawzajem.
Dobrze? Oj!
Mamy błąd.
Bo polecenia „text” odnoszą się do starych zmiennych.
Musimy je uaktualnić, żeby używały informacji z obiektu.
Najpierw wycofam trzy ostatnie, po jednej.
No dobrze. Teraz mamy wiek Winstona.
Musimy to zmienić.
Wpisujemy „Winston” - nazwę zmiennej.
Jeśli zostawimy to, jak jest,
widać: „object object”. Wstrętne!
Tak JavaScript mówi nam,
że próbujemy zmienić cały obiekt w ciąg znaków.
A my chcemy tylko dostać się do „wieku” wewnątrz.
Stawiamy więc kropkę,
a potem wpisujemy klucz właściwości, czyli „wiek”.
Hura, mamy wiek!
Nazywamy to notacją z kropką.
Piszemy nazwę zmiennej obiektu,
stawiamy kropkę
i wpisujemy klucz właściwości.
Zróbmy coś więcej.
Wycofajmy to i zamiast „Winston eyes”
napiszmy Winston - kropka eyes.
A tu będzie: Winston - kropka - lubi.
Potem: Winston - kropka - lubi 1.
Z ostatnią zmienną
będzie trochę trudniej,
bo to obiekt w obiekcie.
Napiszemy „Winston”, postawimy kropkę,
„birthplace” (m. urodzenia)
ale nadal będzie to obiekt,
więc potrzebujemy kropki i miasta.
Zróbmy to tutaj.
Winston - kropka - miejsce urodzenia - kropka - stan.
Hura!
Super: możemy sięgać do obiektów znajdujących się w obiektach.
W porządku!
Fantastycznie!
Jak widzicie,
w obiektach można przechowywać
powiązanych informacji o czymś,
do których potem mamy dostęp.
Oglądajcie dalej. Zobaczycie, jak świetne są obiekty!