logo

TypeScript'te Generic Fonksiyon Nasıl Yapılır?

Bu makalede TypeScript'te generic fonksiyonların nasıl yazıldığını ve kullanıldığını örneklerle öğreneceksiniz.

TypeScript

TypeScript'te Generic Fonksiyon Nasıl Yapılır?

23 Şubat 2026

TypeScript'te generic fonksiyonlar, fonksiyonların farklı veri tipleriyle çalışabilmesini sağlar. Böylece kod tekrarını önler ve daha esnek fonksiyonlar yazabilirsiniz.

Generic Fonksiyon Nedir?

Generic fonksiyonlar, tip parametreleri kullanarak fonksiyonun çalışma anında hangi tipi kullanacağını belirtmesini sağlar. Böylece fonksiyon, birden fazla tipte veri ile çalışabilir.

Generic Fonksiyon Yazımı

En basit haliyle generic fonksiyon şöyle yazılır:

function echo(arg: T): T {
  return arg;
}

Burada <T> tip parametresi olarak tanımlanır ve fonksiyon parametresi arg bu tipte olur. Fonksiyon argümanı ne tipte verilirse, dönüş değeri de o tipte olur.

Generic Fonksiyon Kullanımı

Yukarıdaki echo fonksiyonunu farklı tiplerde kullanabiliriz:

const result1 = echo("Merhaba");
const result2 = echo(123);
const result3 = echo(true);

TypeScript otomatik olarak tip çıkarımı yapabilir, bu yüzden parametre tipini belirtmek zorunda değilsiniz:

const result4 = echo("TypeScript");
const result5 = echo(45);

Daha Karmaşık Örnek: Generic Array Fonksiyonu

Generic fonksiyonlarla array işlemleri yapmak da oldukça pratiktir. Örneğin, verilen elemanı tüm dizinin içine ekleyen bir fonksiyon:

function addToArray(arr: T[], element: T): T[] {
  return [...arr, element];
}

const numbers = [1, 2, 3];
const newNumbers = addToArray(numbers, 4);  // [1, 2, 3, 4]

const strings = ["a", "b"];
const newStrings = addToArray(strings, "c");  // ["a", "b", "c"]

Kısıtlamalar (Constraints) ile Generic Kullanımı

Generic tip parametrelerine kısıtlama (constraint) ekleyerek, tiplerin belli bir arayüzü veya sınıfı kullanmasını sağlayabilirsiniz. Örnek:

interface HasLength {
  length: number;
}

function loggingIdentity(arg: T): T {
  console.log(arg.length);
  return arg;
}

loggingIdentity([1, 2, 3]);        // 3
loggingIdentity("abcde");          // 5
// loggingIdentity(10);           // Hata: number'da 'length' yok

Sonuç

TypeScript generic fonksiyonlar, tekrar kullanılabilir, tip güvenli ve esnek fonksiyonlar yazmanızı sağlar. Özellikle veri yapıları ve utility fonksiyonlarda büyük kolaylık sunar.

Bu makalede temel generic fonksiyon tanımı, kullanımı, biraz daha gelişmiş örnekler ve kısıtlama ekleme yöntemleri gösterilmiştir. TypeScript öğrenirken generic kavramına hakim olmak, yazdığınız kodun kalitesini ve sürdürülebilirliğini artırır.

Canlı Destek
TypeScript Generic Fonksiyon Kullanımı - Kod Örnekleri | W3 Bilişim | W3 Bilişim