Pärand on keskne kontseptsioon objektorienteeritud programmeerimises, mis võimaldab sul olemasolevaid klasse laiendada ja kasutada nende omadusi ning meetodeid. JavaScript on koos ES6 kasutuselevõtuga tutvustanud uuemat ja tugevamat pärimise süntaksit, mis on palju lihtsam hallata kui algupärased prototüüpmeetodid. Selles juhendis näitan ma sulle, kuidas rakendada pärimist JavaScriptis kasutades võtmesõna extends, ja selgitan samm-sammult, kuidas kutsuda alamaklassi konstruktorit õieti kasutades super.
Kõige olulisemad tähelepanekud
- Pärimine JavaScriptis toimub extends-kasutades.
- Alamaklassi konstruktor peab olema kutsutud super abil.
- Instantsimuutujatele saab juurde pääseda võtmesõna this abil tuletatud klassis.
Samm-sammult juhend
Alamaklassi loomine
Pärimisega alustamiseks loome kõigepealt alamaklassi nimega Shape. Selles klassis defineerime konstruktorit ja mõned meetodid.
Siin defineerid sa klassi Shape, millel on konstruktor. Sa saad selles konstruktoris määratleda muutujaid ja funktsioone, millele teised klassid saavad juurde pääseda.

Alamaklassi uurimine
Alamaklassi loomise järel saad nüüd luua alamaklassi, mis pärib Shape'ilt. Selles näites nimetame uut klassi ConcreteShape.
Selles alamaklassis kasutame extends-kasutust, et märkida, et ConcreteShape pärib Shape'ilt. Alamaklassi konstruktor kutsub alamaklassi konstruktorit Shape super() abil, mis on vajalik pärimise nõuetekohaseks rakendamiseks.
Alamaklassi instantsimine
Nüüd, kui oleme alamaklassi loonud, on aeg luua selle klassi instants.
Siin loomad uue objekti myShape klassi ConcreteShape ja edastad kirjelduse konstruktorile. Siis kutsud sa välja print-meetodi, mis väljastab kirjelduse.
Lisamiste omaduste lisamine
Sa saad oma alamaklassile lisada täiendavaid omadusi või isegi meetodeid, mis on spetsiifilised sellele alamaklassile.
Siin oled sa ConcreteShape klassi laiendanud, lisades konstruktorisse täiendavaid parameetreid.
Pärimise kasutamine
super-kasutuse abil saad kutsub välja meetodi describe alamaklassist, et kombineerida alamaklassi ja alusklassi omadusi.
Kokkuvõte – Pärimine JavaScriptis: ES6-st ES13-ni
Selles õpetuses oled sa õppinud, kuidas pärimine JavaScriptis töötab, eriti uue class-süntaksiga. Oled näinud, kuidas defineerida klasse, kuidas pärida aluskihist ja kuidas korrektselt kutsuda konstruktorit. Need mehhanismid muudavad sinu koodibaasi puhtama ja hallatavama, võimaldades efektiivselt uuesti kasutada funktsioone.
Korduma kippuvad küsimused
Mis vahe on super() ja this vahel?super() kasutatakse aluskihi konstruktori kutsumiseks, samas kui this viitab praeguse klassi instantsile.
Miks on ES6 klasside kasutamine parem kui prototüübid?ES6 klassid pakuvad selgemat ja intuitiivsemat süntaksit, mis muudab koodi lugemise ja mõistmise lihtsamaks.
Kas mul võivad olla mitu aluskihist?Ei, JavaScript ei toeta mitut pärimist. Klass saab pärida ainult ühest teisest klassist.
Mis juhtub, kui ma ei kutsu välja super()?Kui sa ei kutsu välja super(), saad sa vea, kuna aluskihi konstruktorit, mis initsialiseerib klassi jaoks vajalikud asjad, ei käivitata.