Fonksiyon Tiplerini Tanımlama
Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası — ders 28 / 73.
TypeScript, fonksiyonların uyması gereken bir taslak görevi gören, bir fonksiyonun imzası için bir tür takma adı oluşturmanıza olanak tanır.
Bir fonksiyon türü takma adı (type alias), type anahtar kelimesini kullanarak bir fonksiyonun şeklini tanımlar. Söz dizimi, parantez içindeki parametre türlerini ve ardından bir ok ile dönüş türünü gösterir:
type MathOperation = (a: number, b: number) => number;
const add: MathOperation = (a, b) => {
return a + b;
};
const multiply: MathOperation = (a, b) => {
return a * b;
};Bu örnekte, MathOperation iki sayı alan ve bir sayı döndüren herhangi bir fonksiyonu tanımlayan bir tür takma adıdır (type alias). Hem add hem de multiply bu türe uygundur ve kod tabanınızda tutarlılık sağlar.
Görev
KolayTek bir string parametresi alan ve bir string döndüren bir fonksiyon için StringProcessor adında bir tip takma adı (type alias) oluşturun.
İki number parametresi alan ve bir number döndüren bir fonksiyon için NumberCalculator adında bir tip takma adı oluşturun.
Bir string parametresi alan ve bir boolean döndüren bir fonksiyon için BooleanChecker adında bir tip takma adı oluşturun.
Şimdi bu tip takma adlarına uygun aşağıdaki fonksiyonları uygulayın:
- Giriş dizesini büyük harfe dönüştüren
StringProcessortipindetoUpperCaseadında bir fonksiyon oluşturun - Giriş dizesine
"Processed: "önekini ekleyenStringProcessortipindeaddPrefixadında bir fonksiyon oluşturun - Birinci sayıyı ikinci sayıya bölen
NumberCalculatortipindedivideadında bir fonksiyon oluşturun - Birinci sayının ikinci sayı kuvvetini alan
NumberCalculatortipindepoweradında bir fonksiyon oluşturun (Math.powkullanın) - Dize uzunluğu 0 ise
true, aksi takdirdefalsedöndürenBooleanCheckertipindeisEmptyadında bir fonksiyon oluşturun - Dize "A" harfi ile başlıyorsa (büyük-küçük harf duyarlı)
true, aksi takdirdefalsedöndürenBooleanCheckertipindestartsWithAadında bir fonksiyon oluşturun
Fonksiyonlarınızı aşağıdaki değerlerle çağırarak ve sonuçları yazdırarak test edin:
toUpperCasefonksiyonunu"hello world"ile çağırınaddPrefixfonksiyonunu"data"ile çağırındividefonksiyonunu20ve4ile çağırınpowerfonksiyonunu3ve4ile çağırınisEmptyfonksiyonunu""ile çağırınstartsWithAfonksiyonunu"Apple"ile çağırın
Her bir sonucu yukarıda belirtilen sırayla ayrı bir satıra yazdırın.
Kendin dene
// YAPILACAK: Burada tür takma adlarını oluşturun
// StringProcessor, NumberCalculator, BooleanChecker
// YAPILACAK: Fonksiyonları burada uygulayın
// toUpperCase, addPrefix, divide, power, isEmpty, startsWithA
// YAPILACAK: Fonksiyonlarınızı test edin ve sonuçları yazdırın
// Her fonksiyonu belirtilen değerlerle çağırın ve sonuçları yazdırınBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
TypeScript'e Giriş bölümündeki tüm dersler
1TS ile Başlarken
TypeScript Nedir?Neden TypeScript Kullanılır?İlk TypeScript KodunuzDerleme Süreci ve HatalarÖzet: TS'ye Giriş4Fonksiyonlarla Çalışmak
Parametre ve Dönüş Değerlerini TiplendirmeArrow Fonksiyonlarını Tiplendirme'void' Dönüş Tipi'?' ile Opsiyonel ParametrelerVarsayılan Parametre DeğerleriRest Parametrelerini TiplendirmeFonksiyon Tiplerini TanımlamaÖzet: Tiplendirilmiş Fonksiyonlar Oluşturma2Temel Tipler
Temel Tipler: str, num, boolean'any' Tipi: Kaçış Yolu'unknown' Tipi'null' ve 'undef' ile ÇalışmakTip Çıkarımı İş BaşındaAçık Tip BelirlemeleriÖzet: Temel Tipler Pratiği5Tipler: Takma Adlar, Unionlar ve Kesişimler
İlkel Tipler için Tip Takma AdlarıUnion Tipler ('|')Union Tipler ile ÇalışmakLiteral TiplerKesişim Tipleri ('&')Tip Takma Adlarını BirleştirmeÖzet: Gelişmiş Tip Kombinasyonları3Veri Yapısı: Diziler ve Tuple
Tipli DizilerDiziler için 'readonly' BelirleyicisiTuple Nedir?Tuple Tanımlama ve ErişmeTuple DestructuringReadonly Tuple'larÇok Boyutlu Tipli DizilerDizilerle Spread OperatörüÖzet: Diziler ve Tuple'lar6Nesneleri ve Interface'leri Tiplendirme
Satır İçi Nesne Tipi BelirtimleriNesneler için Type Alias KullanımıInterface'lere GirişInterface'ler ve Type Alias'ların KarşılaştırılmasıOpsiyonel ve Readonly ÖzelliklerInterface ve Tipleri GenişletmeInterface'lere Metot EklemeÖzet: Nesne Yapılarını Tanımlama