Javascript Es6 class tanımlama constructor, static fonksiyonlar

Javascirpt öğrenmeye devam. Es6 ile beraber sınıf oluşturmak daha kolay oluyor. Öğrendiklerimi sizlerlede paylaşayım istedim.

ilk önce eski tarz constructor oluşturalım. Sonra es6 ile yazalım.

function Personel(name,age,salary) {
    this.name = name;
    this.age = age;
    this.salary = salary;
}

Personel.prototype.showInfos = function () {
    console.log("isim : "+ this.name + " Yaş : "+this.age + " Maaş : "+ this.salary);
};
const empt = new Personel("ali",25,5000);
console.log(empt)
empt.showInfos();

Bunu şimdide es6 ile yazalım

 Bir sınıfta “constructor” adında yalnızca bir özel yöntem olabilir.

class Personel {

    constructor(name,age,salary){
        this.name = name;
        this.age = age ;
        this.salary = salary;
    }
    // constructor dısına yazarsak otomatik olarak prototype özelliğine yazmış oluyoruz.
    showInfos (){ //clasın içinde fonksiyon böyle yazılıyor
        console.log("isim : "+ this.name + "yaş :" + this.age + "Maaş : " + this.salary);
    };
}
// objemizi olusturuyor aynı yöntem ile
const empt = new Personel("Çaylak",24,5000);
console.log(empt);
empt.showInfos();

İkisininde çıktısı şöyle

 

Şimdi gelelim statik metodlara

Bir tane class oluşturalım. Her hangi bir constructor yani özellik olmayacak sadece fonksiyon yazacağız.

class Matematik{

   kare(x){
         console.log(x*x);
     }
}

const math = new Matematik(); //obje olusturuyoruz bunula
math.kare(3);

Yukarıdaki kare fonksiyonunu kullanmamız için obje oluşturmamız gerekiyor. Bazı durumlarda ise obje oluşturmadan yapabiliriz. Bunun için fonksiyonu static metoda yapmamız gerekiyor.

Şimdi de obje oluşturmadan aynı metodu kullanalım.

class Matematik{

  static kare(x){
         console.log(x*x);
     }
}

Matematik.kare(3);

ikisinde de çıktı 9 ;

Obje tanımlayarak yaparsak statik olmaması gerekiyor. Static olursa da obje tanımlamadan kullanmak gerekiyor.

Javascirptte ilerledikçe öğrendiklerimi yazmaya çalışacağım.Bu es6 ile herşey daha sade ve anlaşılır oluyor.  Hadi eyvallah

Bir cevap yazın