CodeBlanks Logo Icon CodeBlanks

Arrow type

Ok fonksiyonunu tür olarak kullanmayı öğrenirsin.

Arrow type

Ok fonksiyonu söz dizimi, bir fonksiyon türünü ifade etmek için de kullanılır. (x: number) => number, sayı alıp sayı döndüren bir fonksiyon türüdür. Bu, callback ve fonksiyon parametreleri için yararlıdır.

let islem: (x: number) => number =
  (x: number): number => x * 2;

Sol taraf tür, sağ taraf değerdir.

Fonksiyon türleriyle callback

Fonksiyon türleri, callback kabul eden parametreler için kullanışlıdır. İmzaya uyan herhangi bir fonksiyonu geçebilirsin. Bu, fonksiyonları parametre olarak geçmeyi güvenli kılar.

function uygula(f: (x: number) => number, n: number): number {
  return f(n);
}
uygula((x: number): number => x + 1, 5);  // 6

Fonksiyon türü, callback'in imzasını netleştirir.

Uygulama Callback ile fonksiyon türü kullan

uygula adında bir fonksiyon tanımla; islem: (x: number) => number ve deger: number parametreleri, dönüş türü number olsun. Fonksiyon islem(deger) değerini döndürsün. ikiyle adında bir ok fonksiyonu tanımla ((x: number): number => x * 2). uygula(ikiyle, 5) çağrısının sonucunu console.log ile yazdır.

Başlangıç kodu

index.ts
// uygula adında bir fonksiyon tanımla
// islem parametresi (x: number) => number türünde, deger parametresi number olsun
// islem(deger) değerini döndür
// ikiyle adında bir ok fonksiyonu tanımla (x * 2 döndürsün)
// uygula(ikiyle, 5) sonucunu yazdır

Örnek çözüm

index.ts
function uygula(islem: (x: number) => number, deger: number): number {
    return islem(deger);
}
const ikiyle = (x: number): number => x * 2;
console.log(uygula(ikiyle, 5));

Beklenen çıktı

10

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 <code>(x: number) =&gt; number</code> bir tür olarak neyi tanımlar?

  • Bir sayı değişkeni
  • Bir ok fonksiyonu ifadesi
  • Bir fonksiyon çağrısı
  • Sayı alıp sayı döndüren bir fonksiyon türü Doğru cevap

Açıklama: Tür bağlamında <code>(x: number) =&gt; number</code>, sayı parametresi alıp sayı döndüren fonksiyonların türünü tanımlar; değer bağlamında değil tür bağlamında kullanılır.

2 Fonksiyon türünü tamamla

Soru
let islem: (x: number) => ____ = (x: number): number => x + 1;
Cevap
let islem: (x: number) => number = (x: number): number => x + 1;

Açıklama: Sağ taraftaki fonksiyon <code>x + 1</code> (sayı) döndürdüğünden, türün dönüş kısmı <code>number</code> olmalıdır. <code>string</code>, <code>void</code> ve <code>boolean</code> yanlış dönüş türüdür.

3 Arrow type kavramları

Kavram Anlamı
(x: number) => number Sayı alıp sayı döndüren tür
Function type Fonksiyon imzasını tür olarak
Callback Fonksiyon parametresi olarak fonksiyon
Arrow type Ok söz dizimiyle tür bildirimi

Başlangıç bölümündeki tüm dersler