Kurs JavaScript - Obiekty
Autor: Bożena Jurczyk
Opublikowano: 2011-12-14
W języku JavaScript tablice nie są jedynymi strukturami do gromadzenia danych. Jeżeli chcesz opisać, za pomocą zmiennych, pewną abstrakcję ze świata rzeczywistego, możesz w tym celu wykorzystać obiekt. Zmienne takiego obiektu nazywać będziesz polami obiektu. Oprócz poznanych do tej pory zmiennych o podstawowych typach, możesz także określić zachowanie obiektu poprzez funkcje, o których więcej dowiesz się w kolejnym samouczku - Funkcje.
Wykonanie zadań nie wymaga dodatkowej wiedzy.
Po wykonaniu zadań nauczysz się:
- jak tworzyć obiekty w języku JavaScript.
Implementacja
W przeglądarce Internet Explorer (od wersji 8) otwórz stronę internetową jTest.html, znajdującą się w pliku JavaScript.zip. Jeśli nie możesz pobrać pliku, to sprawdź w encyklopedii zagadnienie pod hasłem Jak przygotować stronę samouczka JavaScript.
Twoim zadaniem będzie sprawdzenie, w jaki sposób posługiwać się obiektami w języku JavaScript.
Obiekty
Tworzenie obiektów w JavaScript jest podobne do tworzenia tablic asocjacyjnych. W określonych kluczach zapisywane są określone wartości o dowolnym typie.
- Otwórz stronę internetową jTest.html, wciśnij przycisk F12 lub wybierz Tools>F12 developer tools.
- W oknie kliknij na zakładkę Script (oznaczoną 1 na Rys.1.), a następnie w wierszu, w prawym dolnym rogu (oznaczonym 2 na Rys. 1.), wpisz:
var person = new Object();
person["name"] = "Jan Kowalski";
person.birthYear = 1990;
person.getAge = function(){
return new Date().getFullYear() - this.birthYear;
};
alert("Name: " + person["name"] + "\nAge: " + person.getAge());
Rys. 1. Narzędzia programistyczne do języka JavaScript w Internet Explorer 9.
- Wciśnij Enter
- Na ekranie powinien pojawić się alert:
Informacja |
Zwróć uwagę na to, że zapisanie wartości pod nieistniejące klucze nie powoduje błędu. Dodaje się wtedy do obiektu nowe pole o takiej samej nazwie jak nazwa klucza. W zadaniu utworzony został obiekt o nazwie person, który posiada dwa pola: name oraz birthYear oraz jedną metodę getAge(), zwracającą wiek osoby. Klucze mogą być dodawane, podobnie jak w tablicy asocjacyjnej (object["key"] = value), lub po znaku "." (notacja zbliżona do programowania obiektowego –object.key = value). |
Obiekty – skrócona notacja
Istnieje jeszcze inny sposób na tworzenie nowego obiektu w JavaScript. Skrócona notacja zbliżona jest do formatu JSON (JavaScript Object Notation). W kolejnym zadaniu zmodyfikujesz wcześniejszy kod.
- Otwórz okno narzędzi programistycznych przeglądarki Internet Explorer, w prawym dolnym rogu (oznaczonym 2 na Rys. 1.) wpisz:
var person = {
name : "Jan Kowalski",
birthYear : 1990,
getAge : function(){ return new Date().getFullYear() - this.birthYear;}
};
alert("Name: " + person.name + "\nAge: " + person.getAge());
- Wciśnij Enter.
- W wyniku powinien pojawić się alert identyczny do tego z poprzedniego zadania.
Informacja |
Dużą zaletą skróconej notacji jest uproszczenie kodu, czyli możliwość deklaracji całej struktury obiektu w szybki sposób (ostatecznie można tego dokonać nawet w jednej linii). Nie ma potrzeby wywoływania konstruktora bezpośrednio (ciekawym sposobem na utworzenie pustego obiektu jest wykonanie krótkiej instrukcji var o = {}). Łącząc kilka zmiennych w jeden obiekt, jednocześnie zmniejszasz ilość zmiennych globalnych, co przyczynia się do bezpieczniejszej interakcji Twojego programu z innymi aplikacjami. Zmniejsza to bowiem ryzyko nadpisywania Twoich wartości. |
Podsumowanie
W tym samouczku nauczyłeś się, w jaki sposób tworzyć obiekty w JavaScript. Poznałeś dwa sposoby: tradycyjny oraz formę skróconą.
W kolejnym samouczku nauczysz się, jak tworzyć i używać funkcji w JavaScript.