JavaScript Factory Functions

Summary: tässä opetusohjelmassa opit JavaScript factory-funktioista, jotka ovat objekteja palauttavia funktioita.

Johdatus Tehdasfunktioihin Javascriptissä

tehdasfunktio on funktio, joka palauttaa uuden objektin. Seuraava luo henkilöobjektin nimeltä john:

Code language: JavaScript (javascript)

tuloste:

john oliolla on kaksi ominaisuutta: firstName ja lastName, ja yksi menetelmä getFullName(), joka palauttaa koko nimen.

Oletetaan, että sinun täytyy luoda toinen samanlainen olio nimeltään jane, voit kopioida koodin seuraavasti:

Code language: JavaScript (javascript)

tuloste:

jane oliolla on samat ominaisuudet ja menetelmä kuin john oliolla.

mitä enemmän objektia haluat luoda, sitä enemmän kopioitavaa koodia tarvitset.

välttääksesi saman koodin kopioimisen uudelleen ja uudelleen, voit kehittää funktion, joka luo person olion:

Code language: JavaScript (javascript)

kun funktio luo objektin, sitä kutsutaan tehdasfunktioksi. createPerson() on tehdasfunktio, koska se palauttaa uuden person olion.

seuraava koodi käyttää createPerson() tehdasfunktiota kahden objektin luomiseen john ja jane:

Code language: JavaScript (javascript)

tehdas-toiminnolla luot minkä tahansa määrän haluamiasi person objekteja ilman päällekkäistä koodia.

kun luodaan objekti, kyseinen objekti vaatii muistissa olevan tilan. Jos sinulla on tuhat person objektia, tarvitset tuhat tilaa muistiin tallentaaksesi nämä esineet. Näillä henkilöobjekteilla on kuitenkin sama getFullName() menetelmä.

jotta sama getFullName() funktio ei toistuisi muistissa, person oliosta voi poistaa getFullName() – menetelmän:

Code language: JavaScript (javascript)

ja siirrä tämä menetelmä toiseen objektiin:

Code language: JavaScript (javascript)

ja ennen kuin getFullName() – menetelmää kutsutaan person – oliolle, behavior – olion menetelmän voi määrittää person – oliolle seuraavasti:

Code language: JavaScript (javascript)

se on vaikeampaa, jos sinulla on monia menetelmiä ja on määrittää ne manuaalisesti.

tästä syystä Object.create() – menetelmä tulee kuvioihin.

Kohde.luo () menetelmä

Object.create() menetelmä luo uuden objektin käyttämällä olemassa olevaa objektia uuden objektin prototyyppinä:

Code language: CSS (css)

voit siis käyttää Object.create(): ää seuraavasti:

Code language: JavaScript (javascript)

nyt voit luoda person olioita ja kutsua behavior olion menetelmiä:

Code language: JavaScript (javascript)

koodi toimii ihan hyvin. Käytännössä tehtaan toimintoja näkee kuitenkin harvoin. Sen sijaan näet funktion rakentajat tai luokat.

Yhteenveto

  • tehdasfunktio on funktio, joka palauttaa uuden objektin.
  • käytä Object.create() objektin luomiseen käyttämällä olemassa olevaa objektia prototyyppinä.
  • oliko tästä opetuksesta apua ?
  • YesNo

You might also like

Vastaa

Sähköpostiosoitettasi ei julkaista.