Generics
July 18, 2021 · View on GitHub
Dinamik ve yeniden kullanılabilir kod yazmak söz konusu olduğunda Kendini Tekrar Etme (DRY) ilkesine uymak önemlidir. Generic, TypeScript de bunu yapmamızı sağlar.
<type1,type2...typeN> içerisine yapacağımız tip tanımlamaları ile generic tip tanımlamaları yapabiliriz.
Örneklerle açıklamaya çalışalım.
function displayUser<T, U>(name: T, id: U) {
console.log(`${name} ${id}`)
}
displayUser<string, string>("John", "1");
Fonksiyonumuzun isminin hemen yanında <T,U> şeklinde bir generic görüyoruz. T name tipini, U ise id tipini belirtmektedir. id tipini number yapmak istediğimizde tek yapmamız gereken fonksiyonumuzu çağırdığımız yerdeki generic tipini değiştirmektir.
function displayUser<T, U>(name: T, id: U) {
console.log(`${name} ${id}`)
}
displayUser<string, number>("John", 1);
�Başka bir örnekte interface ve type ile generic kullanımını inceleyebilirsiniz.
interface Fullname<T, U> {
(name: T, surname: U):void
}
type Name = "ahmet" | "fatih";
type Surname = "yavasi";
const getFullName: Fullname<Name, Surname> = (name: Name, surname: Surname) => {
console.log(`${name} + ${surname}`)
}
getFullName('ahmet','yavasi')
�