JavaScript/Objektas

Iš Wikibooks.

JAVASCRIPT PROGRAMAVIMO PAGRINDAI
(instrukcinis vadovas pradedantiesiems)[keisti]

Objektas[keisti]


Objektas – tai duomenų porų, „savybė“ ir „savybės vertė“, rinkinys. JS objektai užrašomi tarp riestinių skliaustų (plg., {objektas}).

Pavyzdys. Sakykime, kad turime objektą, Stelmužės ąžuolą, kurio duomenys yra tokie: pavadinimas – Stelmužės ąžuolas, rūšis – paprastasis ąžuolas, amžius – 1000 metų, aukštis – 19 m, kamieno apimtis – 9,58 m.

Sudarau jo JS objektą:

  • stelmužėsĄžuolas = { pavadinimas:"Stelmužės ąžuolas", rūšis:"paprastasis ąžuolas", amžius:"1000 metų", aukštis:"19 m", kamienoApimtis:"9,58 m" };

Atkreipkite dėmesį, kad visi suvesti duomenys yra teksto tipo. Surinkite aukštesnį tekstą konsolėje ir nuspauskite 'Enter'. Jums bus pavaizduotas JS objektas. Jūs pastebėsit, kad aš jį deklaravau kaip kintamąjį su pavadinimu „stelmužėsĄžuolas“ ir priskyriau (priskyrimo operatoriaus ženklas „=“) duomenis. Šiuo atveju, duomenų rinkinį.

Patikrinu jo tipą:

  • typeof(stelmužėsĄžuolas);

Pamatysime, kad jo tipas yra object. Objektas yra pirmasis objektinio tipo duomuo, su kuriuo susipažįstame, bet nesuklyskite, objektas ir objektiniai duomenys nėra tas pats. Anglų kalboje, kuria parašyta JS, žodis „object“ nurodo ir duomenų tipą objektą, ir visą duomenų tipų grupę, kuriai priklauso objektai, masyvai, RegExp ir kiti duomenys.

Objekto savybes galima išsišaukti atskirai naudojant taško žymėjimą. Surinkite štai šį kodą ir nuspauskite 'Enter':

  • stelmužėsĄžuolas.amžius;

Konsolėje bus pavaizduota tik savybės „amžius“ vertė, tekstas „1000 metų“.

Objekto savybės pavadinimas ir jos vertė atskiriamos dvitaškio ženklu („:“). Savybės ir jos vertės poros tarpusavyje atskiriamos kableliais, o po paskutinės kablelis nerašomas.

Pastebėkit, kad, kai jūs konsolėje renkate tekstą, programa automatiškai parenka artimiausią ir vėliausiai naudotą pasirinkimo variantą, tad net ir labai ilgus vardus galite rinkti gana greitai nuspausdami 'Enter' ties tinkamu pasirinkimu!

Aš pastebėjau, kad padariau klaidą įrašęs savybės „amžius“ vertę. Iš tikro ji yra 1500 metų, tad ištaisau panaudodamas priskyrimo operatorių („=“):

  • stelmužėsĄžuolas.amžius = "1500 metų";
  • stelmužėsĄžuolas;

Jūs pastebėsit, kad dabar objekto „stelmužėsĄžuolas“ savybės „amžius“ vertė pasikeitė į tekstą „1500 metų“.

O jei mes norime papildyti objektą nauja savybe? Kokiu būdu pakeitėme savybę, tokiu būdu su priskyrimo operatoriumi galime įvesti naują, pvz., kad ąžuolas auga Lietuvoje:

  • stelmužėsĄžuolas.valstybė = "Lietuva";
  • stelmužėsĄžuolas;

Pastebėkite, jei objekto duomenų yra daug, ne visi jie pavaizduojami konsolėje. Konsolės lange užeikite su kompiuterio pelės žymekliu ant rodyklėlės prieš objekto aprašymą ir nuspauskite kairįjį pelės klavišą. Jums turėtų būti parodytos objekto savybės vertikaliame stulpelyje. Pačioje apačioje jūs pamatysite taip pat išskleidžiamą savybę: [[Prototype]]: Object. Į ją šiam kartui nekreipkite dėmesio.

Objekto savybės ištrinamos su delete operatoriumi:

  • delete stelmužėsĄžuolas.valstybė;
  • stelmužėsĄžuolas;

Svarbus pastebėjimas. Objektų duomenų poros nėra numeruotos, nepaisant, kad kuri nors iš savybių užrašoma ar pavaizduojama pirmesnė, JS to nežino.

Užduotis. Savarankiškai sukurkite objektą „rumšiškiųMiškoPušis“ su duomenimis: pavadinimas – Rumšiškių miško pušis, rūšis – paprastoji pušis, kamieno apimtis – 0,4 m, aukštis – 32 m., amžius – 200 m., valstybė – Lietuva. Po to įveskite savybę: kamienų skaičius – 2.

Atkreipkite dėmesį į įvedamų duomenų tipą ir, jei reikia, pasitikrinkite operatoriumi typeof, pvz.:

  • typeof(stelmužėsĄžuolas.kamienoApimtis);

Pavyzdys. Pagalvokite, ar anksčiau šiame vadove jūs matėte tokį žymėjimą su tašku? Taip. Tai buvo „Math.PI“ vertė apskritimo perimetro ekspresijoje. Kaip ją perskaityti? „Math“ yra objektas, PI – jo savybė, kuriai priskirta vertė – matematinis skaičius Pi.

Objektui ir savybėms pavadinti jūs galite parinkti savo vardus. Tai aktualu renkant tekstus su nešiojamu kompiuteriu ar planšete dėl kalbos nustatymų persijungimų. Tai viena priežasčių, kodėl specifiški lietuviški simboliai paprastai nenaudojami JS. Šiame vadove, dėl suderinamumo su vartosena ir aiškumo pradedantiesiems, daugiausiai yra naudojami lietuviški užrašymai.