CodeBlanks Logo Icon CodeBlanks

Özet - Type inference

Çıkarım kurallarını birleştirerek bir değişken izleyici yazarsın.

Özet - Type inference

TypeScript çıkarım kuralları: let geniş tür verir, const literal tür verir, diziler en iyi ortak türü (veya birleşik türü) bulur. Bu kurallar birlikte, az tür yazısıyla güçlü tür güvenliği sağlar.

let adet = 0;            // number
const birim = "adet";    // "adet"
let liste = [1, 2, 3];   // number[]

Çıkarım, kodu kısa tutarken güvenliği korur.

Uygulama Değişken izleyici programı

adet adında bir let tanımla ve değerini 0 yap. birim adında bir const tanımla ve değerini "adet" yap. liste adında bir dizi tanımla ve değerini [1, 2, 3] yap. adet, birim ve liste'nin ilk öğesini sırayla console.log ile yazdır.

Başlangıç kodu

index.ts
// adet adında bir let tanımla, değeri 0
// birim adında bir const tanımla, değeri "adet"
// liste adında bir dizi tanımla, üç sayı içersin
// adet, birim ve liste'nin ilk öğesini sırayla yazdır

Örnek çözüm

index.ts
let adet = 0;
const birim = "adet";
let liste = [1, 2, 3];
console.log(adet);
console.log(birim);
console.log(liste[0]);

Beklenen çıktı

0
adet
1

Soru ve cevaplar

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

1 <code>const x = 100;</code> ifadesinde <code>x</code>'in çıkarılan türü nedir?

  • any
  • 100 (literal tür) Doğru cevap
  • number
  • const

Açıklama: <code>const</code> değişmediği için TypeScript tam değeri literal tür yapar; <code>x</code>'in türü <code>100</code>'dür, genel <code>number</code> değildir.

2 Birleşik türün eksik parçasını bul

Soru
let karisik = [1, "iki", true];
// çıkarılan tür: (number | string | ____)[]
Cevap
let karisik = [1, "iki", true];
// çıkarılan tür: (number | string | boolean)[]

Açıklama: Dizi sayı, dize ve boolean içerdiğinden birleşik tür <code>(number | string | boolean)[]</code>'dır; üçüncü tür <code>boolean</code>'dır.

3 Inference özeti

Kavram Anlamı
let x = 5 Geniş tür (number)
const x = 5 Dar literal tür (5)
[1, "a"] Birleşik tür dizisi
Type inference Değerden tür çıkarma

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