CodeBlanks Logo Icon CodeBlanks

Temel inference

Tür çıkarımının nasıl çalıştığını öğrenirsin.

Temel inference

TypeScript, bir değişkene atanan değerden türü otomatik olarak çıkarır. Buna tür çıkarımı denir. Her değişkende açık tür yazmak zorunda değilsin; TypeScript atanan değerden türü belirler.

let yas = 25;        // number çıkarımı
let isim = "Ali";    // string çıkarımı
let aktif = true;    // boolean çıkarımı

Çıkarım, daha az yazıyla tür güvenliği sağlar.

Çıkarım ve tür uyumsuzluğu

Çıkarılan tür, atanan değerin türüne bağlıdır. Dize atarsan string, sayı atarsan number, boolean atarsan boolean çıkar. Çıkarılan tür, sonradan farklı türde değer atamayı engeller.

let x = 5;
x = "metin";   // hata: number bekleniyordu

Çıkarım, ilk atamadaki türe göre yapılır ve sonradan değişmez.

Uygulama Çıkarımla değişken tanımla

Tür belirtmeden üç değişken tanımla: mesaj değişkenine "merhaba" değerini, adet değişkenine 10 değerini, aktif değişkenine true değerini ata. Üç değeri de sırayla console.log ile yazdır.

Başlangıç kodu

index.ts
// mesaj değişkenine bir dize ata (tür yazma)
// adet değişkenine bir sayı ata (tür yazma)
// aktif değişkenine true ata (tür yazma)
// mesaj, adet, aktif sırayla yazdır

Örnek çözüm

index.ts
let mesaj = "merhaba";
let adet = 10;
let aktif = true;
console.log(mesaj);
console.log(adet);
console.log(aktif);

Beklenen çıktı

merhaba
10
true

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 <code>let isim = "Ali";</code> ifadesinde <code>isim</code>'in çıkarılan türü nedir?

  • any
  • string Doğru cevap
  • number
  • "Ali" (literal)

Açıklama: <code>let</code> ile dize atandığında TypeScript geniş <code>string</code> türünü çıkarır; literal tür <code>"Ali"</code> yalnızca <code>const</code> ile çıkılır.

2 Çıkarılan türe uygun tür yaz

Soru
let x = "merhaba";
let y: ____ = x;
Cevap
let x = "merhaba";
let y: string = x;

Açıklama: <code>x</code>'e dize atandığından çıkarılan türü <code>string</code>'dir; <code>y</code> de <code>x</code>'i alacağı için <code>string</code> türünde olmalıdır.

3 Inference kavramları

Kavram Anlamı
let x = 5 number çıkarımı
let x = "a" string çıkarımı
let x = true boolean çıkarımı
Type inference Türü otomatik belirleme

Başlangıç bölümündeki tüm dersler