JavaScript Sınıfları
ES6 olarak da bilinen ECMAScript 2015, JavaScript Sınıflarını tanıttı.
JavaScript Sınıfları, JavaScript Nesneleri için şablonlardır.
JavaScript Sınıfı Sözdizimi
class
Bir sınıf oluşturmak için anahtar kelimeyi kullanın .
Her zaman adında bir yöntem ekleyin constructor()
:
Sözdizimi
class ClassName {
constructor() { ... }
}
Örnek
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
}
Yukarıdaki örnek, "Car" adında bir sınıf oluşturur.
Sınıfın iki başlangıç özelliği vardır: "name" ve "year".
JavaScript sınıfı bir nesne değildir .
JavaScript nesneleri için bir şablondur .
Sınıf Kullanmak
Bir sınıfınız olduğunda, nesneleri oluşturmak için sınıfı kullanabilirsiniz:
Örnek
let myCar1 = new Car("Ford", 2014);
let myCar2 = new Car("Audi", 2019);
Yukarıdaki örnek, iki Car nesnesi oluşturmak için Car sınıfını kullanır .
Yeni bir nesne oluşturulduğunda yapıcı yöntemi otomatik olarak çağrılır.
Yapıcı Yöntemi
Yapıcı yöntemi özel bir yöntemdir:
- Tam adı "yapıcı" olmalıdır
- Yeni bir nesne oluşturulduğunda otomatik olarak yürütülür.
- Nesne özelliklerini başlatmak için kullanılır
Bir yapıcı yöntemi tanımlamazsanız, JavaScript boş bir yapıcı yöntemi ekler.
Sınıf Yöntemleri
Sınıf yöntemleri, nesne yöntemleriyle aynı sözdizimi ile oluşturulur.
class
Bir sınıf oluşturmak için anahtar kelimeyi kullanın .
constructor()
Her zaman bir yöntem ekleyin .
Ardından istediğiniz sayıda yöntem ekleyin.
Sözdizimi
class ClassName {
constructor() { ... }
method_1() { ... }
method_2() { ... }
method_3() { ... }
}
Araba yaşını döndüren "yaş" adlı bir Sınıf yöntemi oluşturun:
Örnek
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age() {
let date = new Date();
return date.getFullYear() - this.year;
}
}
let myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML =
"My car is " + myCar.age() + " years old.";
Parametreleri Class yöntemlerine gönderebilirsiniz:
Örnek
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age(x) {
return x - this.year;
}
}
let date = new Date();
let year = date.getFullYear();
let myCar = new
Car("Ford", 2014);
document.getElementById("demo").innerHTML=
"My car is
" + myCar.age(year) + " years old.";
Tarayıcı Desteği
Aşağıdaki tablo, JavaScript'te Sınıflar için tam desteğe sahip ilk tarayıcı sürümünü tanımlar:
Chrome 49 | Edge 12 | Firefox 45 | Safari 9 | Opera 36 |
Mar, 2016 | Jul, 2015 | Mar, 2016 | Oct, 2015 | Mar, 2016 |
"katı kullan"
Sınıflardaki sözdizimi "katı modda" yazılmalıdır.
"Sıkı mod" kurallarına uymazsanız bir hata alırsınız.
Örnek
"Sıkı modda", bir değişkeni bildirmeden kullanırsanız bir hata alırsınız:
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age() {
// date = new Date(); // This will not work
let date = new Date(); // This will work
return date.getFullYear() - this.year;
}
}
"Sıkı mod" hakkında daha fazla bilgiyi şurada öğrenin: JS Sıkı Modu .