Obiekty JavaScript
W JavaScript królują obiekty. Jeśli rozumiesz obiekty, rozumiesz JavaScript.
W JavaScript prawie „wszystko” jest obiektem.
- Wartości logiczne mogą być obiektami (jeśli zdefiniowano je za pomocą
new
słowa kluczowego) - Liczby mogą być obiektami (jeśli zdefiniowano je za pomocą
new
słowa kluczowego) - Ciągi mogą być obiektami (jeśli zdefiniowano je za pomocą
new
słowa kluczowego) - Daty są zawsze obiektami
- Matematyka to zawsze przedmioty
- Wyrażenia regularne są zawsze obiektami
- Tablice są zawsze obiektami
- Funkcje są zawsze obiektami
- Przedmioty są zawsze przedmiotami
Wszystkie wartości JavaScript, z wyjątkiem prymitywów, są obiektami.
Prymitywy JavaScript
Wartość pierwotna to wartość, która nie ma właściwości ani metod.
Pierwotny typ danych to dane, które mają wartość pierwotną.
JavaScript definiuje 5 typów prymitywnych typów danych:
string
number
boolean
null
undefined
Wartości pierwotne są niezmienne (są zakodowane na stałe i dlatego nie można ich zmienić).
jeśli x = 3,14, możesz zmienić wartość x. Ale nie możesz zmienić wartości 3,14.
Wartość | Rodzaj | Komentarz |
---|---|---|
"Witaj" | strunowy | „Cześć” to zawsze „Cześć” |
3,14 | numer | 3,14 to zawsze 3,14 |
prawda | logiczne | prawda to zawsze prawda |
fałszywy | logiczne | fałsz jest zawsze fałszem |
zero | null (obiekt) | null jest zawsze null |
nieokreślony | nieokreślony | undefined jest zawsze nieokreślone |
Obiekty są zmiennymi
Zmienne JavaScript mogą zawierać pojedyncze wartości:
Przykład
let person = "John Doe";
Zmienne JavaScript mogą również zawierać wiele wartości.
Obiekty też są zmiennymi. Ale obiekty mogą zawierać wiele wartości.
Wartości obiektów są zapisywane jako pary nazwa : wartość (nazwa i wartość oddzielone dwukropkiem).
Przykład
let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Obiekt JavaScript to zbiór nazwanych wartości
Powszechną praktyką jest deklarowanie obiektów za pomocą const
słowa kluczowego.
Przykład
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Właściwości obiektu
Nazwane wartości w obiektach JavaScript nazywane są właściwościami .
Nieruchomość | Wartość |
---|---|
Imię | Jan |
nazwisko | Łania |
wiek | 50 |
kolor oczu | niebieski |
Obiekty zapisane jako pary nazwa-wartość są podobne do:
- Tablice asocjacyjne w PHP
- Słowniki w Pythonie
- Tabele haszujące w C
- Mapy haszujące w Javie
- Hasze w Ruby i Perl
Metody obiektowe
Metody to akcje , które można wykonywać na obiektach.
Właściwości obiektu mogą być zarówno wartościami pierwotnymi, innymi obiektami, jak i funkcjami.
Metoda obiektowa to właściwość obiektu zawierająca definicję funkcji .
Nieruchomość | Wartość |
---|---|
Imię | Jan |
nazwisko | Łania |
wiek | 50 |
kolor oczu | niebieski |
imię i nazwisko | function() {return this.firstName + " " + this.lastName;} |
Obiekty JavaScript to pojemniki na nazwane wartości, zwane właściwościami i metodami.
Więcej o metodach dowiesz się w kolejnych rozdziałach.
Tworzenie obiektu JavaScript
Dzięki JavaScript możesz definiować i tworzyć własne obiekty.
Istnieją różne sposoby tworzenia nowych obiektów:
- Utwórz pojedynczy obiekt, używając literału obiektu.
- Utwórz pojedynczy obiekt ze słowem kluczowym
new
. - Zdefiniuj konstruktora obiektów, a następnie utwórz obiekty skonstruowanego typu.
- Utwórz obiekt za pomocą
Object.create()
.
Korzystanie z literału obiektowego
Jest to najprostszy sposób na utworzenie obiektu JavaScript.
Używając literału obiektowego, zarówno definiujesz, jak i tworzysz obiekt w jednej instrukcji.
Literał obiektowy to lista par nazwa:wartość (np. wiek:50) w nawiasach klamrowych {}.
Poniższy przykład tworzy nowy obiekt JavaScript z czterema właściwościami:
Przykład
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Spacje i łamanie wierszy nie są ważne. Definicja obiektu może obejmować wiele linii:
Przykład
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
Ten przykład tworzy pusty obiekt JavaScript, a następnie dodaje 4 właściwości:
Przykład
const person = {};
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Korzystanie ze słowa kluczowego JavaScript nowy
Poniższy przykład tworzy nowy obiekt JavaScript za pomocą new Object()
, a następnie dodaje 4 właściwości:
Przykład
const person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Powyższe przykłady robią dokładnie to samo.
Ale nie ma potrzeby używania new Object()
.
Aby uzyskać czytelność, prostotę i szybkość wykonania, użyj metody literału obiektowego.
Obiekty JavaScript są mutowalne
Obiekty są zmienne: są adresowane przez odniesienie, a nie przez wartość.
Jeżeli osoba jest przedmiotem, poniższe oświadczenie nie spowoduje utworzenia kopii osoby:
const x = person; // Will not create a copy of person.
Obiekt x nie jest kopią osoby. To osoba . Zarówno x, jak i osoba są tym samym obiektem.
Wszelkie zmiany w x zmienią również osobę, ponieważ x i osoba to ten sam obiekt.
Przykład
const person = {
firstName:"John",
lastName:"Doe",
age:50, eyeColor:"blue"
}
const x = person;
x.age = 10; // Will change both x.age and person.age