JavaScript per laiką išsivystė. Ypač su ES6 įvedimu, programavimas naudojant klases tapo žymiai paprastesnis. Senasis klasės kūrimo būdas, naudojant prototipus ir konstruktorių funkcijas, dažnai buvo sudėtingas ir linkęs į klaidas. Šiame vadove sužinosite, kaip efektyviai naudoti naują class sintaksę ir kokie skirtumai yra tarp senojo ir naujojo rašymo stiliaus. Taip pat išmoksite, kaip paveldėjimo pagalba galite plėsti savo klasių struktūrą.
Svarbiausi atradimai
- Naujoji class sintaksė leidžia aiškesnę ir kompaktiškesnę apibrėžimo formą.
- Konstruktorių naudojimas yra paprastesnis ir nereikalauja atskirų prototipų.
- Funkcionalumas, slypintis už class sintaksės, išlieka prototipų pagrindu.
Žingsnis po žingsnio vadovas
1. Suprasti senąjį rašymo stilių
Norėdami atpažinti naujos klasės sintaksės privalumus, pirmiausia pažvelkime į senąją metodiką. Šiuo atveju buvo sukurtos konstruktorių funkcijos ir metodai buvo pridėti per prototipą.

Jei norite sukurti naują objektą, tai daroma naudojant new Shape(1, 100, 200). Tada objektas shape gali būti naudojamas norint gauti savybes.
2. Vertybių rodymas
Norint užtikrinti, kad mūsų objekto instancija veiktų teisingai, išveskime savybes x ir y.

3. Įvesti naują class sintaksę
Dabar pereikime prie naujos class sintaksės, kuri yra prieinama nuo ES6.
Pasikeitimai yra akivaizdūs: jums nebereikia atskiro prototipo. Vietoj to, jūs apibrėžiate visus metodus pačioje klasėje.
4. Objektai su naująja klase
Objekto kūrimas naudojant naują sintaksę atliekamas taip pat kaip anksčiau. Jūs naudojate new, kad sukurtumėte Shape klasės instanciją.
5. Naujos klasės naudojimas
Naujos klasės naudojimas yra identiškas senajai metodikai. Galite naudoti instanciją shape1, kad gautumėte vertes ir naudotumėte move metodą.
6. Paveldėjimas klasėse
Kitas class sintaksės privalumas yra galimybė paveldėti. Jei norite sukurti naują klasę, kuri paveldi iš esamos klasės, galite naudoti extends raktinį žodį.
Šiuo atveju vaiko klasės konstruktorius super() iškviečia tėvų klasės konstruktorių. Tai leidžia jums pasinaudoti Shape savybėmis ir kartu apibrėžti unikalius Rectangle savybes.
7. Išvada dėl class deklaracijos
Class sintaksė ne tik padaro jūsų kodo bazę aiškesnę, bet ir leidžia geresnę struktūrą dirbant su objektiniu programavimu. Jūs galite ne tik kurti klases, bet ir sukurti sudėtingas paveldėjimo hierarchijas, kas padaro jūsų kodą lankstesnį ir lengviau prižiūrimą.
Santrauka – Nauja klasės sintaksė JavaScript: nuo ES6 iki ES13
Šiame vadove sužinojote, kaip efektyviai naudoti naują class sintaksę JavaScript nuo ES6 iki ES13. Senasis klasės kūrimo būdas dažnai buvo varginantis ir linkęs į klaidas, tuo tarpu naujoji sintaksė suteikia aiškią ir paprastą struktūrą. Be to, jūs sužinojote paveldėjimo pagrindus per extends sintaksę, kad galėtumėte dar labiau plėsti savo klases.
Dažnai užduodami klausimai
Koks skirtumas tarp seno ir naujo klasės sintaksės?Senasis metodas naudoja konstruktorių funkcijas ir prototipus, kai naujoji sintaksė supaprastina klasių apibrėžimą ir naudojimą.
Kodėl turėčiau naudoti naują class sintaksę?Ji suteikia aiškesnį, kompaktiškesnį ir intuityvesnį būdą apibrėžti klases, kas gerina kodo priežiūrą ir skaitomumą.
Kaip veikia paveldėjimas su class sintakse?Jūsų klasė gali perimti kitos klasės funkcionalumus naudojant extends raktinį žodį, kviesdama tėvų klasės konstruktorių su super().