Wprowadzenie

Obiekty w JavaScript to kluczowy element tego języka. Są one zasadniczo kolekcjami par klucz-wartość, gdzie kluczem jest łańcuch znaków, a wartością może być dowolny typ danych, włączając w to inne obiekty. Obiekty pozwalają na grupowanie danych i funkcjonalności, co jest dość przydatne w organizacji kodu.

Kiedy myślimy o obiektach, warto wyobrazić sobie je jako “worki” 👜 do przechowywania zmiennych (właściwości) i funkcji (metod), które są ze sobą logicznie powiązane. Dzięki temu łatwiej jest zarządzać i manipulować złożonymi danymi.

Tworzenie obiektów

W JavaScript istnieje kilka sposobów na stworzenie obiektu. Najprostszym jest użycie tzw. object literals:

let samochod = {
	marka: 'Toyota',
	model: 'Corolla',
	rok: 2021,
	wyswietlInfo: function () {
		return this.marka + ' ' + this.model + ' (' + this.rok + ')';
	}
};

W powyższym przykładzie stworzyliśmy obiekt samochod z trzema właściwościami (marka, model, rok) i jedną metodą (wyswietlInfo).

Innym popularnym sposobem jest użycie konstruktora Object:

let samochod = new Object(); // tworzymy pusty obiekt

samochod.marka = 'Toyota'; // dodajemy właściwości
samochod.model = 'Corolla';
samochod.rok = 2021;

Choć ten sposób jest mniej popularny, warto znać obie metody.

Dostęp i modyfikacja właściwości obiektu

Aby uzyskać dostęp do właściwości obiektu, możemy użyć notacji kropki lub nawiasów. Na przykład, aby uzyskać model samochodu, użylibyśmy samochod.model lub samochod['model']. Oba sposoby są równoważne, ale notacja nawiasów jest szczególnie przydatna, gdy nazwa właściwości jest przechowywana w zmiennej lub jest niestandardowym łańcuchem znaków.

Modyfikacja właściwości obiektu jest równie prosta. Możemy po prostu przypisać nową wartość do istniejącej właściwości:

samochod.rok = 2022;

Lub dodać nowe właściwości w podobny sposób:

samochod.kolor = 'czerwony';

Warto pamiętać, że obiekty w JavaScript są przekazywane przez odniesienie, co oznacza, że jeśli przypiszemy nasz obiekt samochod do nowej zmiennej, obie zmienne będą wskazywać na ten sam obiekt. Zmiany dokonane przez jedną zmienną będą widoczne również dla drugiej.

Masz pytania lub uwagi?

discord icon Przejdź na Discord
Masz pytanie? Napisz do nas 👇
kontakt@frontstack.pl
Copyright © 2023 Frontstack