JavaScript Sınıfı

ECMAScript 2015, aynı zamanda ES6 olarak da bilinir, JavaScript sınıflarını tanıtmıştır.

JavaScript sınıfları, JavaScript nesnelerinin şablonlarıdır.

JavaScript sınıfının grameri

Anahtar kelime kullanarak class Bir sınıf oluşturun.

Her zaman adı constructor() yöntemi:

Gramer

class ClassName {
  constructor() { ... }
}

Örnek

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
}

Üstteki örnek, "Car" adlı bir sınıf oluşturur.

Bu sınıf iki başlangıç özelliği içerir: "name" ve "year".

JavaScript SınıfıDeğilnesnesi.

JavaScript nesnesininŞablon.

Sınıf kullanımı

Bir sınıfa sahip olduğunuzda, bu sınıfı kullanarak nesneler oluşturabilirsiniz:

Örnek

let myCar1 = new Car("Ford", 2014);
let myCar2 = new Car("Audi", 2019);

Kişisel olarak deneyin

Üstteki örnek Car sınıfıikisi Car nesnesi.

Yeni nesne oluşturulduğunda otomatik olarak çağrılır (constructor method).

Yapıcı yöntem

Yapıcı yöntem, özel bir yöntemdir:

  • Olmak zorunda olan doğru adı olan "constructor"
  • Yeni nesne oluşturulduğunda otomatik olarak çalışır
  • Nesne özelliklerini başlatmak için kullanılır
  • Eğer bir yapıcı yöntem tanımlamazsanız, JavaScript boş bir yapıcı yöntemi ekler.

Sınıf yöntemleri

Sınıf yöntemlerinin grameri nesne yöntemleri ile aynıdır.

Sınıf oluşturmak için "class" anahtar kelimesini kullanın.

Her zaman constructor() yöntemini ekleyin.

Sonra istediğiniz kadar çok yöntem ekleyin.

Gramer

class ClassName {
  constructor() { ... }
  method_1() { ... }
  method_2() { ... }
  method_3() { ... }
}

Bir "age" adlı sınıf yöntemi oluşturun, bu yöntem araç yılı döndürür:

Ö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.";

Kişisel olarak deneyin

Sınıf yöntemlerine parametre 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.";

Kişisel olarak deneyin

Tarayıcı desteği

Aşağıdaki tablo, ilk tamamen JavaScript sınıfını destekleyen tarayıcı sürümünü belirtir:

Chrome IE Firefox Safari Opera
Chrome 49 Edge 12 Firefox 45 Safari 9 Opera 36
2016 yılının 3 ayı 2015 yılının 7 ayı 2016 yılının 3 ayı 2015 yılının 10 ayı 2016 yılının 3 ayı

"use strict"

Sınıflardaki dilbilgisi “Sıkı mod” ile yazılmalıdır.

“Sıkı mod” kurallarını takip etmezseniz hata mesajı alırsınız.

Örnek

“Sıkı mod” altında, bir değişkeni tanımlamadan kullanırsanız hata alırsınız:

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  age() {
    // date = new Date();  // Bu çalışmayacaktır
    let date = new Date(); // Bu çalışacaktır
    return date.getFullYear() - this.year;
  }
}

Kişisel olarak deneyin

İçinde JS Sıkı Mod “Sıkı mod” hakkında daha fazla bilgi edinmek için buraya tıklayın.