Geri

TypeScript Void ve Never Type

`void` ve `never` TypeScript'te sık kullanılan ancak farklı amaçlar için tasarlanmış özel türlerdir. Bu iki tip, fonksiyonların davranışlarını ve dönüş tiplerini ifade etmek için kullanılır.

Void Type Nedir?

`void`, bir fonksiyonun herhangi bir değer döndürmediğini belirtmek için kullanılır. Genellikle yan etkisi olan (örneğin, konsola yazdırma yapan) fonksiyonların dönüş tipi olarak tercih edilir.

function logMessage(message: string): void {
  console.log(message);
}

Bu fonksiyon herhangi bir değer döndürmez, sadece konsola mesaj yazdırır. Eğer `void` yerine farklı bir tip belirtilirse, fonksiyon dönüş değeri beklenir ve hata oluşur.

Never Type Nedir?

`never` tipi, asla normal şekilde sona ermeyen (döndürmeyen) fonksiyonları veya sonlanmayan işlemleri ifade eder. Örneğin, sürekli dönen sonsuz döngüler veya hata fırlatan fonksiyonlar `never` tipini kullanır.

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

function infiniteLoop(): never {
  while (true) {
    // Sonsuz döngü
  }
}

`never` tipi fonksiyonun asla dönüş yapmayacağını garanti eder. Bu, hata yönetimi ve kontrol akışı analizinde önemli bir rol oynar.

Void ve Never Arasındaki Farklar

`void`, fonksiyonun dönüş değeri olmadığını belirtirken, `never` fonksiyonun kesinlikle dönüş yapmayacağını belirtir. `void` fonksiyonlarda işlem tamamlanır ama değer döndürülmez; `never` fonksiyonlarda ise işlem asla sona ermez veya hata fırlatılır.

Pratik Kullanım Örneği: Hata Fırlatma ve Loglama

function handleError(errorMsg: string): never {
  throw new Error(errorMsg);
}

function infoLog(info: string): void {
  console.log("Info:", info);
}

Bu örnekte, `handleError` fonksiyonu hata fırlatır ve asla geri dönmez, bu yüzden dönüş tipi `never`. `infoLog` ise sadece bilgi yazdırır ve dönüş değeri yok, dönüş tipi `void`.

Geri