Özet: Bu bölümde, fonksiyonlar için tipler tanımlamanıza olanak tanıyan TypeScript fonksiyon tipleri hakkında bilgi edineceksiniz.
Bir fonksiyon tipinin iki bölümü vardır: parametreler ve dönüş tipi. Bir fonksiyon tipini bildirirken, her iki kısmı da aşağıdaki sözdizimiyle belirtmeniz gerekir:
(parameter: type, parameter:type,...) => type
Aşağıdaki örnekte, iki sayı kabul eden ve bir sayı döndüren bir fonksiyon tipine sahip bir değişkenin nasıl tanımlanacağı gösterilmektedir:
let add: (x: number, y: number) => number;
Bu örnekte:
- Fonksiyon tipi iki parametre kabul eder:
x
vey
,number
tipindedir. - Dönüş değerinin tipi, parametreler ve dönüş tipi arasında beliren (=>) işaretini takip eden sayıdır.
Parametre adlarının (
x
vey
) sadece okunabilirlik amaçlı olduğunu unutmayın. Parametrelerin tipleri eşleştiği sürece, fonksiyon için geçerli bir tipdir.
Bir değişkene bir fonksiyon tipiyle açıklama ekledikten sonra, fonksiyonu değişkene aynı tiple atayabilirsiniz.
TypeScript derleyicisi, parametrelerin sayısını tipleriyle ve dönüş tipiyle eşleştirecektir.
Aşağıdaki örnek, add
değişkenine bir fonksiyonun nasıl atanacağını gösterir:
add = function (x: number, y: number) {
return x + y;
};
Ayrıca, bir değişken tanımlayıp, değişkene aşağıdaki gibi bir fonksiyon da atayabilirsiniz:
let add: (a: number, b: number) => number =
function (x: number, y: number) {
return x + y;
};
Türü add
değişkeniyle eşleşmeyen başka fonksiyonlar atarsanız, TypeScript bir hata verir:
add = function (x: string, y: string): number {
return x.concat(y).length;
};
Bu örnekte, tipi eşleşmeyen bir fonksiyonunu add
değişkenine yeniden atadık.
TypeScript derleyicisi, denklemin bir tarafında tip olduğunda fonksiyon tipini anlayabilir. Bu tip çıkarım biçimine bağlamsal tipleme denir. Örneğin:
Bu örnekte, add
fonksiyonu (x: number, y: number) => number
tipini alacaktır.
Tip çıkarımını kullanarak, ek açıklamalarla kod miktarını önemli ölçüde azaltabilirsiniz.