Obiekty JavaScript
Przedmioty, właściwości i metody z prawdziwego życia
W rzeczywistości samochód to przedmiot .
Samochód ma takie właściwości jak waga i kolor oraz metody takie jak start i stop:
Obiekt | Nieruchomości | Metody |
---|---|---|
samochód.nazwa = Fiat samochód.model = 500 samochód.waga = 850kg samochód.kolor = biały |
samochód.start() samochód.jazda() samochód.hamulec() samochód.stop() |
Wszystkie samochody mają te same właściwości , ale wartości właściwości różnią się w zależności od samochodu.
Wszystkie samochody mają te same metody , ale metody są wykonywane w różnym czasie .
Obiekty JavaScript
Wiesz już, że zmienne JavaScript to kontenery na wartości danych.
Ten kod przypisuje prostą wartość (Fiat) do zmiennej o nazwie samochód:
let car = "Fiat";
Obiekty też są zmiennymi. Ale obiekty mogą zawierać wiele wartości.
Ten kod przypisuje wiele wartości (Fiat, 500, biały) do zmiennej o nazwie samochód:
const car = {type:"Fiat", model:"500", color:"white"};
Wartości są zapisywane jako pary nazwa:wartość (nazwa i wartość oddzielone dwukropkiem).
Powszechną praktyką jest deklarowanie obiektów za pomocą słowa kluczowego const .
Dowiedz się więcej o używaniu const z obiektami w rozdziale: JS Const .
Definicja obiektu
Definiujesz (i tworzysz) obiekt JavaScript za pomocą literału obiektu:
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"
};
Właściwości obiektu
Pary nazwa:wartości w obiektach JavaScript nazywane są właściwościami :
Nieruchomość | Wartość nieruchomości |
---|---|
Imię | Jan |
nazwisko | Łania |
wiek | 50 |
kolor oczu | niebieski |
Dostęp do właściwości obiektu
Dostęp do właściwości obiektu można uzyskać na dwa sposoby:
objectName.propertyName
lub
objectName["propertyName"]
Przykład 1
person.lastName;
Przykład 2
person["lastName"];
Obiekty JavaScript to pojemniki na nazwane wartości zwane właściwościami.
Metody obiektowe
Obiekty mogą również posiadać metody .
Metody to akcje , które można wykonywać na obiektach.
Metody są przechowywane we właściwościach jako definicje funkcji .
Nieruchomość | Wartość nieruchomości |
---|---|
Imię | Jan |
nazwisko | Łania |
wiek | 50 |
kolor oczu | niebieski |
imię i nazwisko | function() {return this.firstName + " " + this.lastName;} |
Metoda to funkcja przechowywana jako właściwość.
Przykład
const person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
To słowo kluczowe
W definicji funkcji this
odnosi się do „właściciela” funkcji.
W powyższym przykładzie this
jest to obiekt person , który jest „właścicielem”
fullName
funkcji.
Innymi słowy this.firstName
oznacza firstName
własność tego obiektu .
Przeczytaj więcej o this
słowie kluczowym w JS this Keyword .
Dostęp do metod obiektowych
Dostęp do metody obiektu uzyskuje się za pomocą następującej składni:
objectName.methodName()
Przykład
name = person.fullName();
Jeśli uzyskasz dostęp do metody bez nawiasów (), zwróci ona definicję funkcji :
Przykład
name = person.fullName;
Nie deklaruj ciągów, liczb i wartości logicznych jako obiektów!
Kiedy zmienna JavaScript jest zadeklarowana ze słowem kluczowym „ new
”, zmienna jest tworzona jako obiekt:
x = new String(); // Declares x as a String object
y = new Number(); // Declares y as a Number object
z = new Boolean(); // Declares z as a Boolean object
Unikaj obiektów String
, Number
, i Boolean
. Komplikują kod i spowalniają jego wykonanie.
Więcej o obiektach dowiesz się w dalszej części tego samouczka.