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!