JavaScript-luokka on suunnitelma luoda esineitä. Luokka kapseloi dataa ja toimintoja, jotka manipuloivat dataa.
toisin Kuin muut ohjelmointikieliä kuten Java ja C++, JavaScript-luokat ovat syntaktista sokeria yli prototypal perintö. Toisin sanoen ES6-luokat ovat vain erityistehtäviä.
– Luokat ennen ES6 revisited
Ennen ES6, JavaScript ei ollut käsitteitä luokat., Matkia luokan, me usein käyttää rakentaja funktio, kuten on esitetty seuraavassa esimerkissä:
tuloksena on:
Kuinka se toimii.
Ensimmäinen, luoda Person rakentaja toiminto, joka on kiinteistön nimi nimeltä name. getName() – toiminto on määritetty prototype niin, että se voidaan jakaa kaikki esiintymät Person tyyppi.
Sitten, luo uusi esiintymä Person tyyppi käyttäen new operaattori., john objekti, näin ollen, on esimerkiksi Person ja Object kautta prototypal perintö.,
seuraavat lausunnot käyttää instanceof operaattori tarkistaa, jos john on esimerkiksi Person ja Object tyyppi:
Code language: JavaScript (javascript)
ES6 luokka ilmoitus
ES6 otettiin käyttöön uusi syntaksi julistaa luokan, kuten tässä esimerkissä:
Code language: JavaScript (javascript)
Tämä Person luokka käyttäytyy kuten Person kirjoita edellisessä esimerkissä. Konstruktorifunktion sijaan se käyttää kuitenkin class – avainsanaa.,
Person luokan constructor() on, jos voit alustaa ominaisuuksia esimerkiksi. JavaScript kutsuu automaattisesti constructor() menetelmä, kun luot objektin luokan.
seuraavat luo uuden Person objekti, joka automaattisesti soittaa constructor() ja Person luokka:
Code language: JavaScript (javascript)
getName() kutsutaan menetelmä Person luokka., Kuten rakentaja toimintoa, voit soittaa menetelmiä luokan käyttämällä seuraavaa syntaksia:
Code language: CSS (css)
esimerkiksi:
Code language: JavaScript (javascript)
varmistaa se, että luokat ovat erityisiä tehtäviä, voit käyttää typeof operaattori tarkistaa tyyppi Person luokka.
Code language: JavaScript (javascript)
palaa function odotetusti.,
john objekti on myös esimerkiksi Person ja Object – tyypit:
Code language: JavaScript (javascript)
Luokka vs. Custom type
Huolimatta yhtäläisyyksiä luokan ja mukautettua tyyppi on määritelty kautta rakentaja toiminto, on joitakin tärkeitä eroja.
ensimmäinen, luokkailmoituksia ei nosteta kuten tehtäväilmoituksia.
esimerkiksi, jos et aseta seuraava koodi ennen Person luokka ilmoitus-osiossa, saat ReferenceError.,
Code language: JavaScript (javascript)
Virhe:
Code language: JavaScript (javascript)
Toiseksi, kaikki koodin sisällä luokan automaattisesti suorittaa suppeassa tilassa. Etkä voi muuttaa tätä käytöstä.
kolmas, luokkamenetelmiä ei voida lukea. Jos käytät constructor-toimintoa, sinun on käytettävä Object.defineProperty()-menetelmää, jotta kiinteistö ei ole luettavissa.
Neljäntenä, kutsuvan luokan rakentaja ilman new operaattori johtaa virheeseen, kuten seuraavassa esimerkissä.,
Code language: JavaScript (javascript)
Virhe:
Code language: JavaScript (javascript)
Tiivistelmä
- Käytä JavaScript
classavainsana ilmoittaa uuden luokan. classilmoitus on syntaktista sokeria yli prototypal perintö ylimääräisiä parannuksia.
- Auttoiko tämä opetusohjelma ?
- YesNo
Leave a Reply