JavaScript je zasnovan na preprostem objektnem vzorcu delovanja, modelu. Objekt je zbirka lastnosti, lastnost pa je povezana med imenom in vrednostjo. Vrednost lastnosti je lahko funkcija, v tem primeru je lastnost znana kot metoda. Objekte v JavaScript-u, tako kot v mnogih drugih programskih jezikih, lahko primerjamo s predmeti v resničnem življenju. V JavaScript je predmet samostojna entiteta z lastnostmi in vrsto. Primerjamo ga lahko s skodelico, kjer je skodelica predmet z lastnostmi. Ima barvo, dizajn, težo, material, iz katerega je izdelana itn. Na enak način imajo lahko objekti JavaScript lastnosti, ki določajo njihove značilnosti. Poleg objektov, ki so vnaprej določeni v brskalnikih, lahko definiramo lastne objekte, in to se bomo naučili v tej vadnici.
Objekt lahko ustvarimo z inicializatorjem (definicijo, konfiguracijo) objekta. Ena od možnosti je tudi, da najprej ustvarimo funkcijo konstruktorja in nato primer objekta tako, da prikličemo to funkcijo z operaterjem new. Inicializatorji (modeli) objektov se imenujejo tudi objektni literali. Sintaksa za objekt, ki uporablja inicializator objekta je:
const objekt = { // ime lastnosti je lahko identikator lastnost1: vrednost1, // lahko je tudi število 2: vrednost2, // ali niz "lastnost n": vrednost3, }
Definicija objekta | Objekt v JavaScript definiramo z literalom objekta. Presledki in prelomi vrstic niso pomembni. Definicija objekta lahko zajema več vrstic. | Glej primer |
---|---|---|
Dostop do lastnosti objekta | Do lastnosti objekta lahko dostopamo na dva načina. | Glej primer |
Metode objekta | Objekti imajo lahko tudi metode. Metode so dejanja, ki jih je mogoče izvesti na objektih. Metode so shranjene v lastnostih kot definicija funkcij. | Glej primer |
this | V definiciji funkcije se this nanaša na objekt funkcije. | Glej primer |
Dostop do metode objekta | Primer, kako dostopamo do metode objekta. | Glej primer |
Nizov, števil in logičnih vrednosti ne smemo deklarirati kot objekte. Ko je JavaScript spremenljivka deklarirana s ključno besedo new, se spremenljivka ustvari kot objekt.
a = new String(); // a razglasi kot objekt String b = new Number(); // b razglasi kot objekt Number c = new Boolean; // c razglasi kot logični objekt
Izogibati se je potrebno predmetom String, Number in Boolean, ker zakomplicirajo našo kodo in upočasnijo hitrost izvajanja.
Objekti so ena od podatkovnih vrst JavaScript-a in se uporabljajo za shranjevanje zbirk ključ/vrednost (ime/vrednost). JavaScript objekt je zbirka poimenovanih vrednosti.
constructor | Vrne funkcijo, ki je ustvarila prototip objekta. | Glej primer |
---|---|---|
keys() | Vrne predmet iteratorja matrike s ključi objekta. | Glej primer |
prototype | Omogoča dodajanje lastnosti in metod objektom. | Glej primer |
toString() | Pretvori predmet v niz in vrne rezultat. | Glej primer |
valueOf() | Vrne osnovno vrednost objekta. | Glej primer |