JavaScript Class kavramı

·

2 min read

ES6 ile hayatımıza giren diger bir kavramda class olmuştur daha oncesinde ES5 ile functionlar kullanılırdı her bir dosya function oluyordu bunun yerine artık Class lar var her ne kadar diger dillerdeki sınıf kavramına benzesede farklılıkları tabiki mevcut syntax ise şöyle :

class User
{
       constructor(_name,_surname){ 
        this.name=_name;
         this.surname=_surname;        }

 info=()=>{  console.log(this.name +" "+this.surname );  }
}
let perp=new User("Hilal","Yıldız");

class parametre alamayacak olsa dahi constructor tanımlanmalıdır.Bu zorunluluk degildir tanımlanmadıgı takdirde default olarak constructor atanacaktır ama tavsiye edilen tanımlanması yönündedir

Classlarda Kalıtım

Kod tekrarını engellemek amaçlı bir sınıfın özellikleri diger bir sınıfa aktarılabilir

class User { constructor(_name="Hilal"){ this.name=_name; } }
class Hilal extends User 
{    constructor(_surname)
     { 
            super(name)
            this.surname=_surname;
        }
    info=()=>{  return this.name+" "+this.surname ; }
}
let prinT=new Hilal("Hilal","Yıldız");
prinT.info();

super adlı metot kalıtım alınan sınıfı işaret eder ve üst sınıftan parametrelerini kullanmamızı saglar

Kalıtım alınan class içinden fonksiyoun kullanılmak istenirs yine this.method_adi şeklinde yazılmalıdır

Class jack extend user 
{
 Konus() { super.speak() ; }
//Kalıtım alınan user isimli classda bulunan speak() adlı metot cagrıldı
}