⊗tsSpGnTV 30 of 37 menu

TypeScript'te Tip Değişkenleri

Jenerikler kavramını daha iyi anlamak için ilk fonksiyonumuzu oluşturalım - özdeşlik fonksiyonu. Böyle bir fonksiyon kendisine iletileni - aynı tiple - olduğu gibi döndürür.

Öncelikle fonksiyonumuzun varyantlarını ayrı ayrı yazalım.

Parametre olarak bir sayı alan ve bir sayı döndüren bir fonksiyon yazalım:

function func(data: number): number { return data; }

Şimdi parametre olarak bir dize alan ve bir dize döndüren bir fonksiyon yazalım:

function func(data: string): string { return data; }

Şimdi tüm bunları tek bir fonksiyonun yapmasını istiyoruz. Yani bir genelleme yapmak istiyoruz.

Bunun için tip değişkeni kullanacağız, bu değişken veri tipini kendinde saklar. Böyle bir değişken, fonksiyon parametrelerinin olduğu parantezlerden önce açılı parantezler içinde bildirilir. Şimdi T (herhangi bir isim verilebilir) adını vererek böyle bir değişken tanımlayalım:

function func <T>(buraya parametreler) { return data; }

Bundan sonra, parametrenin tipini içine koymak ve ardından dönüş değeri olarak belirtmek için kullanabileceğimiz T değişkenimiz olacak.

Parametremize tipini değişkenimiz şeklinde belirtelim:

function func <T>(data: T) { return data; }

Sonuçta, parametre herhangi bir tipte iletilebilir ve bu tip T değişkenimize kaydedilir.

Şimdi T değişkeninin değerini fonksiyonun sonucunu belirtmek için kullanalım:

function func <T>(data: T): T { return data; }

Artık fonksiyonun dönüş tipinin, parametrenin tipinden elde edileceği sonucu çıkıyor. Şimdi kontrol edelim.

Fonksiyonu bir sayı ile çağıralım:

console.log( func(3) ); // 3 yazdırır

Fonksiyonu bir dize ile çağıralım:

console.log( func('x') ); // 'x' yazdırır

Parametre olarak iki sayı veya iki dize alan bir fonksiyon yapın. Fonksiyon, sonuç olarak parametrelerin toplamını döndürmelidir.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet