super terimi javascript'e özgü değildir, Java ve Python gibi programlama dillerinde de super anahtar kelimesini kullanabilirsiniz. Nesne yönelimli programlamalarda super() terimi, bir alt sınıfın üst sınıfının constructor'ına ve özelliklerine erişerek miras almasına izin veren yöntemdir. Javascript de nesne yönelimli (object oriented) programlamaya izin veren bir dil olarak super kullanımına izin vermektedir.
Araba üst sınıfından türeyen bir sporaraba sınıfı için aşağıdaki örnek ile javascript'teki super anahtar kelimesinin kullanımı anlaşılabilir:
class Otomobil {
constructor(tekersayisi, koltuksayisi) {
this.tekersayisi = tekersayisi
this.koltuksayisi = koltuksayisi
}
}
class SporAraba extends Otomobil {
constructor(tekersayisi, koltuksayisi, beygirgucu) {
super(tekersayisi, koltuksayisi)
this.beygirgucu = beygirgucu
}
}
let araba = new Otomobil("4", "5");
console.log(araba);
let sporAraba = new SporAraba("4", "5", "300");
console.log(sporAraba);
Konsol Çıktısı:
Object { //araba
koltuksayisi: "5",
tekersayisi: "4"
}
Object { //spor araba
beygirgucu: "300",
koltuksayisi: "5",
tekersayisi: "4"
}