TypeScript’te fonksiyonlar, yalnızca kodu düzenli hale getirmek için değil, aynı zamanda hataları erken yakalamak ve daha güvenli yazılım geliştirmek için büyük önem taşır. Bu yazıda TypeScript’te fonksiyonları nasıl tanımlarız, nasıl daha güvenli hale getiririz ve hangi ayarlarla yazdığımız fonksiyonları daha sağlam hale getirebiliriz gibi soruların cevaplarını bulacaksınız.
Fonksiyon Tanımlama ve Tip Belirleme
Fonksiyonlar, bir işlemi tek bir yerde tanımlayıp birçok yerde tekrar kullanmamızı sağlar. TypeScript’te bir fonksiyon tanımlarken, hem parametrelerin hem de geri dönüş değerinin türünü açıkça belirtebiliriz.
Örnek:
function topla(a: number, b: number): number {
return a + b;
}
Bu örnekte:
a
ve b
parametrelerinin tipi number
olarak tanımlanmıştır.
- Fonksiyonun dönüş tipi
number
olarak belirtilmiştir.
Tip belirleme, yanlışlıkla metin ya da başka bir veri türü gönderildiğinde derleyicinin hata vermesini sağlar.
Parametre ve Return Type Anotasyonu
TypeScript’te fonksiyonların güvenli çalışması için parametrelerin ve dönüş değerlerinin tipi belirtilmelidir. Bu sayede kodun ne yaptığı daha açık hale gelir.
function selamla(isim: string): string {
return "Merhaba " + isim;
}
Bu fonksiyon yalnızca bir string
alır ve bir string
döndürür. Yanlış türde veri girildiğinde TypeScript sizi uyarır.
noUnusedParameters Ayarı
Bu ayar, fonksiyonlara eklenen fakat kullanılmayan parametreleri tespit eder. Kodunuzu daha temiz tutmanızı sağlar.
function topla(a: number, b: number): number {
return a; // b kullanılmıyor
}
tsconfig.json
dosyasında şu şekilde etkinleştirilir:
"noUnusedParameters": true
Bu ayar sayesinde gereksiz parametreleri fark eder ve kodunuzu sadeleştirebilirsiniz.
noUnusedLocals Ayarı
Bir fonksiyon içinde tanımlayıp kullanmadığınız değişkenleri de tespit eden bir ayardır. Kodunuzu daha okunabilir ve hatasız hale getirir.
function hesapla() {
let sonuc = 100;
let fazlalik = 50; // bu kullanılmıyor
return sonuc;
}
Ayar dosyasında şu şekilde etkinleştirilir:
"noUnusedLocals": true
Bu sayede gereksiz tanımlamalar temizlenebilir.
noImplicitReturns Ayarı
Bu ayar, fonksiyonun tüm yollarla bir dönüş değeri döndürüp döndürmediğini kontrol eder. Her senaryoda bir return
yazmanız gerektiğini hatırlatır.
function puanHesapla(puan: number): number {
if (puan > 50) {
return puan * 2;
}
// eksik: diğer durumda return yok
}
Bu ayar etkinse, TypeScript bu eksik dönüşü tespit eder.
"noImplicitReturns": true
Bu ayar ile dönüş tipi belirtilen fonksiyonların mutlaka bir değer döndürmesi sağlanır.
Opsiyonel Parametreler
Bazen bir fonksiyonun parametrelerinden biri zorunlu olmayabilir. TypeScript’te bu tür parametreler ?
işareti ile belirtilir.
function selamla(isim?: string) {
if (isim) {
console.log("Merhaba " + isim);
} else {
console.log("Merhaba!");
}
}
Bu fonksiyonu hem selamla("Ayşe")
hem de selamla()
şeklinde çağırabilirsiniz.
Varsayılan Parametreler
Opsiyonel parametrelere varsayılan bir değer verilebilir. Eğer kullanıcı bu parametreyi göndermezse, sizin verdiğiniz varsayılan değer kullanılır.
function topla(a: number, b: number = 10): number {
return a + b;
}
Bu fonksiyon topla(5)
şeklinde çağrılırsa b
otomatik olarak 10 kabul edilir.
Sonuç
TypeScript’te fonksiyonlar yalnızca işlemleri gruplayıp tekrar kullanmak için değil, aynı zamanda kodun güvenliğini artırmak için de kullanılır. Parametrelerin ve dönüş değerlerinin tipini belirlemek, hataları erken yakalamak ve gereksiz kodları temizlemek için TypeScript’in sunduğu ayarlar oldukça faydalıdır.
Bu bölümde öğrendiğiniz konular:
- Fonksiyon nasıl tanımlanır ve tipleri nasıl belirlenir
- Opsiyonel ve varsayılan parametre kullanımı
- noUnusedParameters, noUnusedLocals ve noImplicitReturns gibi kontrol ayarları
Bu kuralları uygulayarak daha temiz, anlaşılır ve güvenli TypeScript fonksiyonları yazabilirsiniz.