Sınıf, nesne yönelimli programlama dillerinde nesnelerin özelliklerini, davranışlarını ve başlangıç durumlarını tanımlamak için kullanılan şablonlara verilen addır.
Pratikte, aynı türden birçok nesne oluşturmamız gerekebilir, kullanıcılar veya malzemeler gibi.
Yapıcı, "new" operatörü, kısmından bildiğimiz gibi new(yeni) fonksiyonu bize bu konuda yardımcı olabilir.
Ancak modern Javascript’de bundan daha gelişmiş bir “sınıf” yapısı var. Bu yapı nesne tabanlı programlamaya yeni ve faydalı özellikler getiriyor.
Sınıf sözdizimi
Temel sözdizimi:
class MyClass {
// class methods
constructor() { ... }
method1() { ... }
method2() { ... }
method3() { ... }
...
}
Sonra new MyClass() bu metotlarla birlikte yeni bir nesne oluşturuyor.
constructor() metodu new tarafından otomatik olarak çağırılıyor. Bu sayede nesneyi orada tanımlayabiliyoruz.
Örnek olarak:
class User {
constructor(name) {
this.name = name;
}
sayHi() {
alert(this.name);
}
}
// Usage:
let user = new User("John");
user.sayHi();
new User("John") çağırıldığında:
- Yeni bir nesne oluşturuluyor.
constructorverilen argümanla çalışıyor ve bunathis.name’i atıyor.
…Daha sonra user.sayHi gibi metodları çağırabiliriz.
Acemi geliştiricilerin düştüğü bir hata da, sınıf metodları arasına virgül koymak. Bu da sözdimizi hatasına neden oluyor.