TypeScript Generics Nedir Nasıl Kullanılır?
TypeScript generics, bir fonksiyon veya sınıfın belirli bir veri tipi ile sınırlı olmamasını sağlar. Bu, fonksiyon veya sınıfın farklı veri tipleri ile çalışmasını sağlar. Örneğin, bir dizi sınıfı yazarsanız, bu sınıfın içinde sadece belirli bir veri tipi ile çalışmasını isteyebilirsiniz. Ancak, generics kullanarak bu sınıfı farklı veri tipleri ile de çalıştırabilirsiniz. Kullanımı: function example<T>(arg: T): T { return arg; }
. Bu fonksiyon T tipinde bir argüman alır ve aynı tipinde bir değer döndürür. Bu fonksiyon, herhangi bir veri tipi ile çağrılabilir. Örnek: example<string>("example string")
Bir örnek olarak, bir sınıf oluşturalım ve bu sınıfın içinde bir dizi tutalım. Bu dizinin veri tipini belirlemek istemiyorsak, generics kullanabiliriz:
Bu sınıf, T tipinde öğeler içeren bir dizi tutar. Bu sınıfın add() metodu, T tipinde bir öğe ekler ve get() metodu, belirli bir indeksteki T tipinde bir öğeyi döndürür. Bu sınıfı aşağıdaki şekilde kullanabiliriz:
Aşağıda örnek olarak, bir React uygulamasında form oluşturalım ve bu formda bir input alanı olsun. Bu input alanının veri tipini belirlemek istemiyorsak, generics kullanabiliriz:
Bu component, Props<T> tipinde bir props alır ve T tipinde bir başlangıç değeri ve onSubmit işlevi içerir. Bu component içerisinde bir form oluşturulur ve form içerisinde bir input oluşturulur. Onchange eventi ile input değerinin değişmesi durumunda state değişir. Form submit edildiğinde onSubmit fonksiyonu çağrılır ve value olarak input değeri gönderilir. Böylece componenti herhangi bir veri tipi ile kullanabiliyoruz. Örnek olarak:
Created by ChatGpt :)