Menu
Coddy logo textTech

'never' Türü

Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası — ders 70 / 73.

never türü, asla gerçekleşmeyen değerleri temsil eder. Bu ilk başta kafa karıştırıcı gelebilir, ancak kodunuzdaki belirli senaryoları düşündüğünüzde aslında oldukça mantıklıdır.

never türü, en yaygın olarak normal şekilde asla geri dönmeyen fonksiyonlar için kullanılır.

Bu, her zaman bir hata fırlatan veya sonsuz döngüler içeren fonksiyonları içerir:

function throwError(message: string): never {
  throw new Error(message);
}

function infiniteLoop(): never {
  while (true) {
    // Bu döngü asla bitmez
  }
}

Bir fonksiyonun anlamlı bir değer döndürmediğini belirten void türünün aksine, never fonksiyonun bitiş noktasına hiçbir zaman ulaşmadığını belirtir. Çalışma, ya bir hata fırlatılması nedeniyle durur ya da süresiz olarak devam eder.

challenge icon

Görev

Kolay

Her zaman bir hata fırlatarak ve asla normal bir şekilde geri dönmeyerek never dönüş türünü gösteren throwError adında bir fonksiyon oluşturun.

Fonksiyon şunları yapmalıdır:

  • string türünde bir message parametresi almalı
  • Sağlanan mesajla yeni bir Error fırlatmalı
  • Açık bir never dönüş türüne sahip olmalı

Şunları yapan handleOperation adında ikinci bir fonksiyon oluşturun:

  • İki parametre alır: string türünde operation ve number türünde value
  • Eğer operation "double" ise value * 2 döndürür
  • Eğer operation "half" ise value / 2 döndürür
  • Diğer tüm operasyonlar için "Invalid operation: [operation]" mesajıyla throwError fonksiyonunu çağırır
  • Açık bir number dönüş türüne sahip olmalı

Fonksiyonlarınızı aşağıdaki operasyonlarla test edin:

  • handleOperation("double", 5) fonksiyonunu çağırın ve sonucu yazdırın
  • handleOperation("half", 8) fonksiyonunu çağırın ve sonucu yazdırın
  • handleOperation("triple", 3) fonksiyonunu çağırın ve sonucu yazdırın (bu bir hata fırlatacaktır)

Ek test durumları oluşturun:

  • handleOperation("double", 15) fonksiyonunu çağırın ve sonucu yazdırın
  • handleOperation("half", 20) fonksiyonunu çağırın ve sonucu yazdırın

Kendin dene

// TODO: Kodunuzu buraya yazın
// Geri dönüş tipi never olan throwError fonksiyonunu oluşturun
// Geri dönüş tipi number olan handleOperation fonksiyonunu oluşturun

// Fonksiyonları try-catch blokları ile test edin
try {
    console.log(handleOperation("double", 5));
} catch (error) {
    console.log(`Error: ${(error as Error).message}`);
}

try {
    console.log(handleOperation("half", 8));
} catch (error) {
    console.log(`Error: ${(error as Error).message}`);
}

try {
    console.log(handleOperation("triple", 3));
} catch (error) {
    console.log(`Error: ${(error as Error).message}`);
}

try {
    console.log(handleOperation("double", 15));
} catch (error) {
    console.log(`Error: ${(error as Error).message}`);
}

try {
    console.log(handleOperation("half", 20));
} catch (error) {
    console.log(`Error: ${(error as Error).message}`);
}
quiz iconKendini test et

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

TypeScript'e Giriş bölümündeki tüm dersler