Usamos cookies para mejorar tu experiencia en el sitio
CodeWorlds

Obiekty i tablice w JavaScript

W Parku Jurajskim przechowujemy ogromne ilości danych o dinozaurach - ich imiona, gatunki, wiek, status zdrowia i wiele więcej. Aby efektywnie zarządzać tymi danymi, potrzebujemy dwóch fundamentalnych struktur danych JavaScript: obiektów i tablic.

Obiekty - karty DNA dinozaurów

Obiekt w JavaScript to kolekcja par klucz-wartość, która pozwala przechowywać powiązane ze sobą dane w jednym miejscu. Pomyśl o obiekcie jak o karcie informacyjnej dinozaura - zawiera wszystkie istotne dane w uporządkowany sposób.

Tworzenie obiektów

Najprostszym sposobem tworzenia obiektu jest użycie nawiasów klamrowych

{}
:

1// Karta informacyjna Velociraptora
2const raptor = {
3  name: "Blue",
4  species: "Velociraptor",
5  age: 4,
6  isAlpha: true,
7  dangerLevel: 8
8};
9
10console.log(raptor); // Wyświetli cały obiekt

Dostęp do właściwości obiektu

Istnieją dwa sposoby dostępu do właściwości obiektu:

1// 1. Notacja kropkowa (dot notation) - najczęściej używana
2console.log(raptor.name);      // "Blue"
3console.log(raptor.age);       // 4
4
5// 2. Notacja nawiasowa (bracket notation) - przydatna dla dynamicznych kluczy
6console.log(raptor["species"]); // "Velociraptor"
7
8const property = "dangerLevel";
9console.log(raptor[property]);  // 8 - użyteczne gdy klucz jest w zmiennej

Modyfikowanie i dodawanie właściwości

1// Modyfikowanie istniejącej właściwości
2raptor.age = 5;
3
4// Dodawanie nowej właściwości
5raptor.habitat = "Wybieg A3";
6
7// Usuwanie właściwości
8delete raptor.habitat;

Metody obiektu

Obiekt może zawierać funkcje jako wartości - nazywamy je metodami:

1const raptor = {
2  name: "Blue",
3  age: 4,
4  isAlpha: true,
5  skills: ["hunt", "communicate", "lead"],
6
7  // Metoda - funkcja wewnątrz obiektu
8  attack() {
9    return this.name + " atakuje!";
10  },
11
12  // Inna metoda z użyciem this
13  introduce() {
14    return "Jestem " + this.name + ", mam " + this.age + " lat.";
15  }
16};
17
18console.log(raptor.attack());     // "Blue atakuje!"
19console.log(raptor.introduce());  // "Jestem Blue, mam 4 lat."

Metody statyczne Object

JavaScript udostępnia kilka przydatnych metod do pracy z obiektami:

1const dino = { name: "Rex", species: "T-Rex", age: 12 };
2
3// Object.keys() - tablica kluczy
4console.log(Object.keys(dino));   // ["name", "species", "age"]
5
6// Object.values() - tablica wartości
7console.log(Object.values(dino)); // ["Rex", "T-Rex", 12]
8
9// Object.entries() - tablica par [klucz, wartość]
10console.log(Object.entries(dino));
11// [["name", "Rex"], ["species", "T-Rex"], ["age", 12]]

Tablice - listy dinozaurów

Tablica to uporządkowana lista elementów, idealna do przechowywania kolekcji danych tego samego typu.

Tworzenie tablic

1// Tablica nazw Velociraptorów
2const raptors = ["Blue", "Charlie", "Delta", "Echo"];
3
4// Tablica obiektów
5const dinosaurs = [
6  { name: "Blue", species: "Velociraptor", age: 4 },
7  { name: "Rex", species: "T-Rex", age: 12 },
8  { name: "Bronto", species: "Brachiosaurus", age: 8 }
9];
10
11console.log(raptors[0]);        // "Blue" - pierwszy element (indeks 0)
12console.log(raptors.length);    // 4 - liczba elementów
13console.log(dinosaurs[1].name); // "Rex" - dostęp do obiektu w tablicy

Złożone struktury danych

Obiekty i tablice można zagnieżdżać, tworząc złożone struktury danych:

1const park = {
2  name: "Jurassic Park",
3  sectors: [
4    {
5      id: "A",
6      name: "Strefa drapieżników",
7      dinosaurs: ["T-Rex", "Velociraptor"]
8    },
9    {
10      id: "B",
11      name: "Strefa roślinożerców",
12      dinosaurs: ["Brachiosaurus", "Triceratops"]
13    }
14  ]
15};
16
17console.log(park.sectors[0].dinosaurs[1]); // "Velociraptor"
Ir a CodeWorlds