- Konu sahibi
- #1
TypeScript’te bir fonksiyonun parametre türünü belirtmek için parametre adından sonra iki nokta ve türü yazın:
Örneğin aşağıdaki fonksiyon bir metin ve bir sayı alır. Kodunu
Burada
TypeScript derleyicisi ve Node.js kuruluysa,
Beklenen çıktı
Aynı sözdizimi ok fonksiyonlarında da kullanılır. Örneğin
Bir parametre birden fazla türde değer kabul edebiliyorsa türleri
Parametre verilmediğinde fonksiyonun nasıl davranacağını da belirleyebilirsiniz:
Tür açıklamaları çalışma zamanında giriş doğrulaması yapmaz. TypeScript türleri JavaScript çıktısından kaldırılır. Örneğin bir API’den gelen veya kullanıcı tarafından girilen değerin gerçekten sayı olduğundan emin olmanız gerekiyorsa, değeri kullanmadan önce ayrıca çalışma zamanı kontrolü yapın.
ad: string. Fonksiyon çağrıldığında TypeScript, gönderilen değerin belirtilen türle uyumlu olup olmadığını kontrol eder.Parametre türünü yazma ve kontrol etme
Örneğin aşağıdaki fonksiyon bir metin ve bir sayı alır. Kodunu
ornek.ts adlı bir TypeScript dosyasına kaydedin:
Kod:
function selamla(ad: string, yas: number): string {
return `Merhaba ${ad}, yaşınız ${yas}.`;
}
console.log(selamla("Deniz", 25));
Burada
ad parametresi string, yani metin; yas ise number, yani sayı bekler. Parantezden sonraki : string farklı bir bilgidir: Fonksiyonun döndürdüğü değerin türünü belirtir. Dönüş türünü yazmasanız da TypeScript bu örnekte onu çıkarabilir.TypeScript derleyicisi ve Node.js kuruluysa,
tsconfig.json bulunmayan ayrı bir klasörde terminali açıp dosyayı derleyin ve oluşan JavaScript dosyasını çalıştırın:
Kod:
tsc ornek.ts
node ornek.js
Beklenen çıktı
Merhaba Deniz, yaşınız 25. olur. Çağrıyı selamla("Deniz", "25") olarak değiştirirseniz TypeScript, ikinci değerin number yerine string olduğunu bildirir. Değeri 25 gibi bir sayıya düzeltip yeniden derleyin. Derleme sırasında hata bildirilmesi, her yapılandırmada JavaScript çıktısının engellendiği anlamına gelmez.Farklı parametre türleri
Aynı sözdizimi ok fonksiyonlarında da kullanılır. Örneğin
const ikiKati = (sayi: number) => sayi * 2; ifadesinde parametrenin türü yine adından sonra yazılır.Bir parametre birden fazla türde değer kabul edebiliyorsa türleri
| ile birleştirebilirsiniz. Nesne bekleniyorsa gerekli özellikleri ve türlerini belirtebilirsiniz:
Kod:
function yazdir(deger: string | number): void {
console.log(deger);
}
function kullaniciGoster(kullanici: { ad: string; aktif: boolean }): void {
console.log(kullanici.ad, kullanici.aktif);
}
yazdir("Merhaba");
yazdir(42);
kullaniciGoster({ ad: "Deniz", aktif: true });
string | number, değerin bu iki türden biri olabileceği anlamına gelir; yalnızca birine özgü bir işlem yapmadan önce türü kontrol etmeniz gerekir. Nesne örneğinde ise çağrı, ad ve aktif özelliklerini uygun türlerle sağlamalıdır. void, bu fonksiyonların kullanılacak bir dönüş değeri belirtmediğini gösterir.İsteğe bağlı ve varsayılan değerli parametreler
Parametre verilmediğinde fonksiyonun nasıl davranacağını da belirleyebilirsiniz:
Kod:
function mesajYaz(ad: string, unvan?: string): void {
console.log(unvan ? `${unvan} ${ad}` : ad);
}
function carp(sayi: number, katsayi: number = 2): number {
return sayi * katsayi;
}
mesajYaz("Deniz"); // Deniz
mesajYaz("Deniz", "Dr."); // Dr. Deniz
console.log(carp(3)); // 6
unvan?: string, parametrenin atlanabileceğini belirtir; bu durumda değeri undefined olur. Fonksiyon, kullanmadan önce değeri kontrol etmelidir. katsayi verilmediğinde ise varsayılan 2 kullanılır; burada tür ayrıca yazılmasa da TypeScript varsayılan değerden number türünü çıkarabilir.Tür açıklamaları çalışma zamanında giriş doğrulaması yapmaz. TypeScript türleri JavaScript çıktısından kaldırılır. Örneğin bir API’den gelen veya kullanıcı tarafından girilen değerin gerçekten sayı olduğundan emin olmanız gerekiyorsa, değeri kullanmadan önce ayrıca çalışma zamanı kontrolü yapın.