W JavaScript obiekty są jednym z fundamentalnych elementów języka, umożliwiają przechowywanie danych i definiowanie ich w formie właściwości (properties) oraz zachowań w formie metod (methods). Obiekty w JavaScript są dynamiczne, co oznacza, że mogą być modyfikowane poprzez dodawanie, usuwanie lub modyfikowanie właściwości i metod w trakcie działania programu.
Obiekt w JavaScript to kolekcja właściwości, gdzie każda właściwość składa się z pary klucz-wartość (key-value). Klucz jest zawsze ciągiem znaków (łańcuchem), a wartość może być dowolnym typem danych, w tym innym obiektem.
Poniżej znajdziesz prosty przykład obiektu JavaScript oraz kilka wbudowanych:
// Przykładowy obiekt
let osoba = {
imie: "Jan",
nazwisko: "Kowalski",
wiek: 30,
witaj: function() {
console.log("Witaj, jestem " + this.imie + " " + this.nazwisko + "!");
}
};
// Dostęp do właściwości obiektu
console.log(osoba.imie); // Jan
console.log(osoba["nazwisko"]); // Kowalski
// Wywołanie metody obiektu
osoba.witaj(); // Witaj, jestem Jan Kowalski!
// Wbudowane obiekty JavaScript
let dzisiaj = new Date(); // Obiekt Date reprezentujący aktualną datę i czas
console.log(dzisiaj.getFullYear()); // Rok bieżący
let tablica = [1, 2, 3, 4, 5]; // Obiekt Array reprezentujący tablicę
console.log(tablica.length); // Liczba elementów w tablicy
let samochod = new Object(); // Obiekt utworzony za pomocą konstruktora Object
samochod.marka = "Toyota";
samochod.model = "Corolla";
samochod.rokProdukcji = 2020;
console.log(samochod.marka); // Toyota
W powyższym przykładzie osoba to własny obiekt, a Date, Array oraz Object to wbudowane obiekty w JavaScript. Obiekty te posiadają swoje metody i właściwości, które można wykorzystać w programowaniu. Można też mieć inne podejście do tworzenia obiektów.
Ten obiekt Counter jest prostym obiektem w języku JavaScript, który reprezentuje licznik. Ma on kilka metod umożliwiających manipulację wartością licznika. Poniżej opisano, co robią poszczególne metody:
- get:
- Metoda
getzwraca aktualną wartość licznika (_value)._valuejest prywatną właściwością obiektu, ponieważ zaczyna się od podkreślenia_, co jest konwencją wskazującą na prywatność danej właściwości.
- Metoda
- increase:
- Metoda
increasezwiększa wartość licznika o 1. To oznacza, że każde wywołanie tej metody zwiększy wartość_valueo 1.
- Metoda
- decrease:
- Metoda
decreasezmniejsza wartość licznika o 1. Podobnie jak w przypadkuincrease, każde wywołanie tej metody zmniejszy wartość_valueo 1.
- Metoda
- reset:
- Metoda
resetzeruje wartość licznika, ustawiając_valuena 0.
- Metoda
Ten obiekt można wykorzystać do utworzenia instancji licznika i manipulowania jego wartością przy użyciu dostępnych metod. Przykładowe użycie może wyglądać tak:
// Utwórz instancję licznika
const mojLicznik = Object.create(Counter);
// Pobierz początkową wartość licznika
console.log(mojLicznik.get()); // 0
// Zwiększ wartość licznika o 1
mojLicznik.increase();
console.log(mojLicznik.get()); // 1
// Zmniejsz wartość licznika o 1
mojLicznik.decrease();
console.log(mojLicznik.get()); // 0
// Zeruj wartość licznika
mojLicznik.reset();
console.log(mojLicznik.get()); // 0
W tym przykładzie mojLicznik jest instancją obiektu Counter, a metody get, increase, decrease i reset są dostępne dla manipulowania licznikiem.
