ECMAScript 6 är här!


ECMAScript 6 är här! Den 6e revisionen av JavaScript har en massa nyheter, speciellt för OOP (objekt orienterad programmering). Artikeln är på gående och snart klar!


 

Klasser

Man har implementerat klasser i ES6. Man kan skapa/deklarera en klass på två olika sätt.

Klassdeklaration

Vi kan deklarera en klass som i andra objektorienterade programmeringsspråk:


Klassuttryck

Det andra sättet är genom ett så kallat klassuttryck ():


Konstruktor

För att initialt sätta värden på egenskaper (variabler som hör till klassen) finns en konstruktor funktion till förfogande:

Att det är en funktion är underförstått av JavaScript, vilket gör att man inte behöver lägga till nyckelordet function. För att skapa en ny instans/o av klassen använder man nyckelordet new:

Konstruktorn anropas endast en gång; vid skapande av en ny instans av klassen.


!(Hoisting)

Eftersom klasser inte hoistas måste den först deklarera för att kunna komma åt den (precis som en variabel). Det enda som hoistas är funktioner som därför kan anropas innan dom deklareras.


Metoder

En klass kan alltså innehålla funktioner, som när dom definieras i en klass kallas metoder. För att komma åt egenskaper i klassen använder man nyckelordet this i metoder. Det finns även set och get metoder för att sätta och hämta värdet på egenskaper:

Med hjälp av metoder kan vi ändra på värdet på en egenskap som är knuten till det nya objektet (dk). Vi anropar metoderna på följande sätt med punktnotation:


Subklass

Vi kan skapa en subklass som ärver egenskaper från dess superklass genom att använda nyckelordet extends:

Men att bara skapa en subklass utan att lägga till nya egenskaper/metoder är det ju ingen mening med.

 

 

Lämna en kommentar

E-postadressen publiceras inte. Obligatoriska fält är märkta *