Lekcja 10 Obiektowość w JS

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:

  1. get:
    • Metoda get zwraca aktualną wartość licznika (_value). _value jest prywatną właściwością obiektu, ponieważ zaczyna się od podkreślenia _, co jest konwencją wskazującą na prywatność danej właściwości.
  2. increase:
    • Metoda increase zwiększa wartość licznika o 1. To oznacza, że każde wywołanie tej metody zwiększy wartość _value o 1.
  3. decrease:
    • Metoda decrease zmniejsza wartość licznika o 1. Podobnie jak w przypadku increase, każde wywołanie tej metody zmniejszy wartość _value o 1.
  4. reset:
    • Metoda reset zeruje wartość licznika, ustawiając _value na 0.

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.

Zostaw komentarz

Koszyk