JavaScript se je skozi leta precej razvila. Še posebej z uvedbo ES6 je bilo programiranje s razredi bistveno olajšano. Stara metoda za ustvarjanje razredov s prototipi in konstruktorji je bila pogosto zapletena in nagnjena k napakam. V tem priročniku se boš naučil, kako učinkovito uporabiti novo sintakso class in kakšne razlike obstajajo med staro in novo obliko. Prav tako se boš naučil, kako lahko s pomočjo dedovanja razširiš svojo strukturo razredov.
Najpomembnejši sklepi
- Nova sintaksa class omogoča jasnejšo in bolj kompaktno obliko definicije.
- Uporaba konstruktorjev je preprostejša in ne zahteva ločenih prototipov.
- Funkcionalnost za sintakso class ostaja osnovana na prototipih.
Navodila korak za korakom
1. Razumevanje stare oblike
Da prepoznamo prednosti nove sintakse razreda, si najprej pogledamo staro metodo. Pri tem smo ustvarili konstruktorsko funkcijo in metode dodali preko prototipa.

Ko želiš ustvariti nov objekt, to storiš z new Shape(1, 100, 200). Nato lahko uporabiš objekt shape za pridobitev lastnosti.
2. Prikaz vrednosti
Da se prepričamo, da naša instanca objekta deluje pravilno, izpisujemo lastnosti x in y.

3. Uvedba nove sintakse class
Zdaj preidemo na novo sintakso class, ki je na voljo od ES6 naprej.
Spremembe so očitne: za to ne potrebuješ več ločenega prototipa. Namesto tega vse metode definiraš znotraj razreda.
4. Ustvarjanje objektov z novim razredom
Ustvarjanje objekta z novo sintakso poteka enako kot prej. Uporabiš new, da ustvariš instanco razreda Shape.
5. Uporaba novega razreda
Uporaba novega definiranega razreda je identična stari metodi. Uporabiš lahko instanco shape1, da pridobiš vrednosti in uporabiš metodo move.
6. Dedovanje v razredih
Dodatna prednost sintakse class je možnost dedovanja. Ko želiš ustvariti nov razred, ki podeduje obstoječi razred, lahko uporabiš ključno besedo extends.
Pri tem konstruktor otroškega razreda super() kliče konstruktor starševskega razreda. To ti omogoča, da izkoristiš lastnosti razreda Shape in hkrati definiraš edinstvene lastnosti za Rectangle.
7. Zaključek deklaracije class
Sintaksa class ne le da naredi tvojo kodo preglednejšo, temveč tudi omogoča jasnejšo strukturo pri delu z objektnimi koncepti. Ne le, da lahko ustvariš razrede, temveč lahko tudi gradiš kompleksne hierarhije dedovanja, kar tvojo kodo naredi bolj fleksibilno in lažje vzdrževano.
Povzetek – Nova sintaksa razredov v JavaScriptu: ES6 do ES13
V tem priročniku si se naučil, kako lahko novo sintakso class v JavaScriptu od ES6 do ES13 učinkovito uporabite. Stara metoda oblikovanja razredov je bila pogosto naporna in nagnjena k napakam, medtem ko nova sintaksa omogoča jasno in preprosto strukturo. Prav tako si spoznal osnove dedovanja prek sintakse extends, da še dodatno razširiš svoje razrede.
Pogosto zastavljena vprašanja
Kakšna je razlika med staro in novo sintakso razreda?Stara metoda uporablja konstruktorje in prototipe, medtem ko nova sintaksa poenostavi definicijo in uporabo razredov.
Zakaj naj uporabim novo sintakso class?Ona ponuja jasnejši, kompaktnejši in bolj intuitiven način za definicijo razredov, kar izboljšuje vzdrževanje in berljivost kode.
Kako deluje dedovanje s sintakso class?Tvój razred lahko prevzema funkcionalnosti drugega razreda z uporabo ključne besede extends, tako da pokličeš konstruktor starševskega razreda z super().