TypeScript Function Type (Fonksiyon Tipleri)
TypeScript’te function type, bir fonksiyonun alacağı parametrelerin ve döndüreceği değerin türünü tanımlamak için kullanılır. Bu, hem kodun daha okunabilir hem de daha güvenli hale gelmesini sağlar.
Fonksiyon Tipi Nasıl Tanımlanır?
let greet: (name: string) => string;
greet = (name) => `Hello, ${name}!`;
`greet` değişkeni yalnızca bir string parametre alıp string döndüren fonksiyonları kabul eder. Yanlış türde parametre atanırsa TypeScript hata verecektir.
Birden Fazla Parametre ve Dönüş Değeri
let calculate: (a: number, b: number, op: string) => number;
calculate = (a, b, op) => {
return op === "add" ? a + b : a - b;
};
Function type ile çok parametreli fonksiyonların yapısı açıkça tanımlanabilir. Bu sayede yanlış kullanım kolayca fark edilir.
Function Type İçin Type Alias Kullanımı
type Logger = (message: string) => void;
const log: Logger = (msg) => {
console.log("[LOG]:", msg);
};
`type` alias ile tekrar kullanılabilir fonksiyon tipleri tanımlanabilir. Bu, özellikle callback fonksiyonları için oldukça pratiktir.
Fonksiyon Parametresi Olarak Fonksiyon
function handleClick(callback: () => void) {
callback();
}
Bir fonksiyonun parametresi olarak başka bir fonksiyon tanımlayabiliriz. Bu yapılar, event handler'lar ve async işlemler gibi senaryolarda sıkça kullanılır.
Optional ve Varsayılan Parametreler
function sendEmail(to: string, subject: string = "No Subject", body?: string): void {
console.log(`To: ${to}, Subject: ${subject}, Body: ${body ?? "Empty"}`);
}
Fonksiyon parametreleri `?` ile opsiyonel hale getirilebilir veya varsayılan değer atanabilir. Bu özellik, daha esnek API'ler yazmamıza yardımcı olur.
Function Type ile Type Safety Avantajı
Function type kullanımı, yanlış parametre gönderme, dönüş değeri tipi hatası gibi durumları önceden fark etmemizi sağlar. Bu da uygulamanın kararlılığını ve bakım kolaylığını artırır.
Geri