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!