Menu
Coddy logo textTech

Statik Özellikler

Coddy'nin JavaScript Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 32 / 56.

Statik özellikler sınıfın kendisine aittir, sınıfın örneklerine değil. Tüm örnekler arasında paylaşılırlar.

Statik bir özelliğe sahip bir sınıf tanımlayın:

class Counter {
  // Statik bir özellik tanımlayın
  static count = 0;
  
  constructor() {
    // Her yeni örnek oluşturulduğunda statik sayacı artırın
    Counter.count++;
  }
}

Statik özelliğe sınıf adını kullanarak erişin:

console.log(Counter.count); // 0

// Bazı örnekler oluşturun
const counter1 = new Counter();
const counter2 = new Counter();

console.log(Counter.count); // 2

Statik özellikler, tüm örnekler arasında paylaşılması gereken değerler veya sınıf düzeyindeki sabitler için kullanışlıdır. Örneğin:

class MathConstants {
  static GOLDEN_RATIO = 1.61803;
}

console.log(MathConstants.PI); // 3.14159
challenge icon

Görev

Bir MathConstants sınıfına statik PI ve E özelliklerini ekleyin:

  1. Statik özellik PI değeri 3.14159 olarak ayarlanmış
  2. Statik özellik E değeri 2.71828 olarak ayarlanmış

Kopya kağıdı

Statik özellikler örneklerin değil, sınıfın kendisine aittir. Tüm örnekler arasında paylaşılırlar ve sınıf adı kullanılarak erişilirler.

static anahtar kelimesini kullanarak statik bir özellik tanımlayın:

class Counter {
  static count = 0;
  
  constructor() {
    Counter.count++;
  }
}

Statik özelliklere sınıf adı üzerinden erişin:

console.log(Counter.count); // 0

const counter1 = new Counter();
const counter2 = new Counter();

console.log(Counter.count); // 2

Statik özellikler, sınıf düzeyindeki sabitler için kullanışlıdır:

class MathConstants {
  static PI = 3.14159;
  static E = 2.71828;
}

console.log(MathConstants.PI); // 3.14159

Kendin dene

import { MathConstants } from './constants.js';

// Test kodu - değiştirmeyin
console.log(MathConstants.PI);        // 3.14159 çıktısını vermeli
console.log(MathConstants.E);         // 2.71828 çıktısını vermeli
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler