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