Sınıf Alanları, Özel # Alanları, static Üyeler
Genel alanlara sahip sınıflar oluşturun, verileri özel # alanlarıyla gizleyin ve static özellikler/yöntemler ekleyin.
Sınıf Alanları, Özel # Alanları, static Üyeler, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 3 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, JavaScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. JavaScript Academy kursu toplamda 3 dersten oluşur.
Sınıflar neden önemli?
Amaç: Küçük ve anlaşılır sınıflar oluşturmak.
- Genel alanlar ve yöntemler
- Gizli durum için #private alanlar
- Sınıf düzeyindeki yardımcılar için statik özellikler ve yöntemler
- Örnekleri küçük ve okunabilir tutun

Genel alanlar ve oluşturucu
Genel bir alan ve küçük yöntemler içeren bir sınıf oluşturun; başlangıç düzeyindeki öğrenciler için mantığı basit tutun.
// Public fields and a simple method
class Counter {
// public field with default
value = 0;
constructor(start) {
// use a default if start is not provided
this.value = Number.isFinite(start) ? start : 0;
}
inc() {
this.value = this.value + 1;
}
}
const c1 = new Counter(2);
c1.inc();
console.log("value:", c1.value); // 3

Özel # alanlar
#private alanlar dil tarafından zorunlu kılınır ve yalnızca sınıf gövdesi içinde kullanılabilir. Gerekirse okuma yöntemleri sunun.
// Private # fields hide internal state
class SafeCounter {
// private field (only inside the class)
#value = 0;
constructor(start) {
this.#value = Number.isFinite(start) ? start : 0;
}
inc() { this.#value = this.#value + 1; }
getValue() { return this.#value; } // expose via method
}
const sc = new SafeCounter(5);
sc.inc();
console.log("safe value:", sc.getValue());
// External access fails (uncommenting the next line would throw):
// console.log(sc.#value);

Güvenli okumalar için alıcılar
Bir alıcı, alanı özel tutarken türetilmiş veya doğrulanmış bir değer döndürebilir.
// Getters provide read-only views; simple guard logic
class User {
#name = "Anonymous";
constructor(name) {
if (typeof name === "string" && name.trim().length > 0) {
this.#name = name.trim();
}
}
get name() {
return this.#name;
}
}
const u = new User(" Ayla ");
console.log("name:", u.name);

Statik üyeler
Statik üyeler örnekler üzerinde değil, sınıf üzerinde çağrılır (ör. MathHelp.circleArea()).
// Static = belongs to the class, not to instances
class MathHelp {
static PI = 3.14159;
static circleArea(r) {
if (!(typeof r === "number" && r >= 0)) return 0;
return MathHelp.PI * r * r;
}
}
console.log("PI:", MathHelp.PI);
console.log("area r=2:", MathHelp.circleArea(2));
// Instances do not have the static members:
const mh = new MathHelp();
console.log("instance has PI?", "PI" in mh); // false

Başlangıç düzeyine uygun alışkanlıklar
İpuçları:
- Az sayıda, anlaşılır yöntemi olan küçük sınıfları tercih edin.
- Gerçek gizlilik için #private kullanın; alt çizgiler yalnızca adlandırma kuralıdır.
- Sabitleri ve yardımcıları statik üyelere koyun.
- Dışarıdan erişmeniz gerekiyorsa en az sayıda okuma yöntemi (alıcı) sunun.

Özel alanların temelleri sınaması
Kısa kontrol: #private alanlar.

Özet
Özet: Basit durumlar için genel alanları, iç ayrıntıları gizlemek için #private'ı ve sınıf düzeyindeki yardımcılar için statik üyeleri kullanın. Her sınıfı küçük ve okunması kolay tutun.

Yapay zeka eğitmeniyle JavaScript öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 59
- Dersler
- 200
Sıkça Sorulan Sorular
“Sınıf Alanları, Özel # Alanları, static Üyeler” dersi ücretsiz mi?
Evet — “Sınıf Alanları, Özel # Alanları, static Üyeler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve JavaScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. JavaScript Academy kursu toplamda 3 dersten oluşur.
“Sınıf Alanları, Özel # Alanları, static Üyeler” dersinde ne öğreneceğim?
Genel alanlara sahip sınıflar oluşturun, verileri özel # alanlarıyla gizleyin ve static özellikler/yöntemler ekleyin. JavaScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
JavaScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te JavaScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 1. dersidir.
“Sınıf Alanları, Özel # Alanları, static Üyeler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu JavaScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her JavaScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Sınıf Alanları, Özel # Alanları, static Üyeler
- Kalıtım, super ve composition'ı Ne Zaman Tercih Etmeli
- Karışımlar (Kısa Tanıtım) — Derin Hiyerarşiler Olmadan Basit Yeniden Kullanım