TypeScript Academy · Ders

null, undefined ve Katı null Denetimleri

Katı modla null ve undefined değerlerini güvenli biçimde ele alın.

4. ders / 413 adım

null, undefined ve Katı null Denetimleri, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 4. 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, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

JavaScript'te null ve undefined, çalışma zamanı hatalarının yaygın kaynaklarıdır. TypeScript'in strictNullChecks denetimleri bunları açıkça ele almanızı zorunlu kılar.

null ve undefined Karşılaştırması

`undefined`, bir değişkenin bildirilmiş ancak değer atanmamış olduğu anlamına gelir. `null`, değerin bilerek bulunmadığını belirtir. TypeScript'te ikisi ayrı türlerdir.
let a: undefined = undefined;
let b: null = null;

Strict Null Denetimleri Olmadan

`strictNullChecks` olmadan null ve undefined, her türün alt türüdür. Bu, eski TypeScript sürümlerindeki varsayılandır ve genellikle güvenli değildir.
// strictNullChecks: false (unsafe default)
let name: string = null; // allowed — dangerous!

Strict Null Denetimlerini Etkinleştirme

`strictNullChecks: true` (`strict` seçeneğine dahildir) ile null ve undefined yalnızca kendi türlerine veya açıkça belirtilmiş birleşim türlerine atanabilir.
// strictNullChecks: true
let name: string = null; // Error!
let maybeName: string | null = null; // OK

İsteğe Bağlı Özellikler

`?` ile işaretlenen nesne özellikleri örtük olarak T | undefined türündedir. Özelliğin bulunmadığı durumu ele almanız gerekir.
interface Config {
  host: string;
  port?: number; // number | undefined
}

const c: Config = { host: 'localhost' };
console.log(c.port?.toString()); // optional chaining

Null Olabilir Türleri Daraltma

null veya undefined içeren bir birleşimin türünü, özelliklere erişmeden önce if denetimiyle daraltın.
function greet(name: string | null): string {
  if (name === null) return 'Guest';
  return 'Hello, ' + name;
}

İsteğe Bağlı Zincirleme (?.)

`?.` işleci, sol taraf null veya undefined ise kısa devre yaparak `undefined` değerine dönüşür ve çalışma zamanındaki çökmeyi önler.
const user = getUser();
const city = user?.address?.city; // undefined if any step is null

Nullish Birleştirme (??)

`??` işleci, sol taraf yalnızca null veya undefined olduğunda sağ tarafı döndürür; herhangi bir yanlış kabul edilen değerde devreye giren `||` işlecinden farklı olarak çalışır.
const port = config.port ?? 3000; // 3000 if port is null/undefined
const label = name ?? 'Anonymous';

Null Olmama İddiası İşleci (!)

Sonek olarak kullanılan `!` işleci, TypeScript'e bir değerin null veya undefined olmadığından emin olduğunuzu bildirir. Bunu yalnızca kesinlikle emin olduğunuzda kullanın.
const el = document.getElementById('root')!;
el.textContent = 'Loaded'; // no null check needed

null ve undefined Döndürme

Bilerek boş bir sonuç döndürmek için `null`, eksik veya isteğe bağlı değerler için `undefined` döndürmeyi tercih edin. Kod tabanınızın tamamında tutarlı olun.
function findUser(id: number): User | null {
  return db.find(u => u.id === id) ?? null;
}

strictNullChecks Milyar Dolarlık Hatayı Önler

Tony Hoare, null kavramını kendi ifadesiyle milyar dolarlık hata olarak adlandırdı. TypeScript'in strictNullChecks seçeneği, bu değerleri açıkça ele almanızı sağlayarak null/undefined çökmelerini önler.

Kısa Kontrol

`??` (nullish birleştirme) işleci sol taraf null veya undefined olduğunda ne döndürür?

Özet

null/undefined hatalarını önlemek için strictNullChecks seçeneğini etkinleştirin. Null olabilir değerlere izin vermek için birleşim türlerini, güvenli gezinmek için isteğe bağlı zincirlemeyi (?.) ve varsayılan değerler sağlamak için nullish birleştirmeyi (??) kullanın.
Başlamak ücretsiz

Yapay zeka eğitmeniyle TypeScript öğ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
101
Dersler
352

Sıkça Sorulan Sorular

“null, undefined ve Katı null Denetimleri” dersi ücretsiz mi?

Evet — “null, undefined ve Katı null Denetimleri” 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 TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.

“null, undefined ve Katı null Denetimleri” dersinde ne öğreneceğim?

Katı modla null ve undefined değerlerini güvenli biçimde ele alın. TypeScript 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.

TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te TypeScript 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, 4 dersinin 4. dersidir.

“null, undefined ve Katı null Denetimleri” 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 TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her TypeScript 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

  1. İlkel Türler: string, number, boolean
  2. any Türü ve Neden Kaçınılması Gerektiği
  3. unknown ve any: Daha Güvenli Seçim
  4. null, undefined ve Katı null Denetimleri
← TypeScript Academy Sayfasına Dön