String Enum Kullanımı
Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası — ders 54 / 73.
String enum'lar, tip güvenliğini korurken net ve okunabilir değerler sağladıkları için fonksiyon parametreleri olarak özellikle iyi çalışırlar.
Bir dize enum'ını bir fonksiyonda şu şekilde kullanabilirsiniz:
function move(direction: Direction): void {
console.log(`Moving ${direction.toLowerCase()}...`);
}Bu fonksiyonu çağırdığınızda, TypeScript yalnızca önceden tanımlanmış enum değerlerini kabul edecektir. Bunu move(Direction.Up) kullanarak çağırabilirsiniz, bu da "Moving up..." çıktısını verecektir. Kod düzenleyiciniz mevcut enum üyeleri için otomatik tamamlama sağlayacaktır ve TypeScript geçersiz yön değerleri geçirme girişimlerini yakalayacaktır.
Görev
KolayÖnceki challenge'dan size aşağıdakiler sağlanmıştır:
Up,Down,LeftveRightüyelerine sahipDirectionstring enum yapısı- Değişkenler:
upDirection,downDirection,leftDirectionverightDirection
Bir parametre alan move adında bir fonksiyon oluşturun:
Directiontipindedirection
Fonksiyon şunları yapmalıdır:
"Moving [direction]..."formatında bir mesaj yazdırın; burada[direction], enum'ın string değerinin küçük harfli halidirvoiddönüş tipine sahip olmalıdır
Bir parametre alan getMovementDescription adında bir fonksiyon oluşturun:
Directiontipindedirection
Fonksiyon şunları yapmalıdır:
- Yöne bağlı olarak hareketi açıklayan bir string döndürün:
Direction.Upiçin:"Going upward"döndürünDirection.Downiçin:"Going downward"döndürünDirection.Leftiçin:"Turning left"döndürünDirection.Rightiçin:"Turning right"döndürün- Açık bir
stringdönüş tipine sahip olmalıdır
Direction tipinde playerDirection adında bir değişken oluşturun ve buna Direction.Up değerini atayın.
Aşağıdaki çıktıları yazdırın:
movefonksiyonunuDirection.Upile çağırınmovefonksiyonunuleftDirectionile çağırınmovefonksiyonunuplayerDirectionile çağırıngetMovementDescriptionfonksiyonunuDirection.Downile çağırmanın sonucunu yazdırıngetMovementDescriptionfonksiyonunurightDirectionile çağırmanın sonucunu yazdırınmovefonksiyonunuDirection.Rightile çağırın
Kendin dene
// Önceki görevden - Direction enum'ı ve değişkenler
enum Direction {
Up = "Up",
Down = "Down",
Left = "Left",
Right = "Right"
}
const upDirection = Direction.Up;
const downDirection = Direction.Down;
const leftDirection = Direction.Left;
const rightDirection = Direction.Right;
// YAPILACAK: Kodunuzu buraya yazın
// Bir Direction parametresi alan ve "Moving [direction]..." yazdıran move fonksiyonunu oluşturun
// Hareket açıklamalarını döndüren getMovementDescription fonksiyonunu oluşturun
// playerDirection değişkenini oluşturun
// Fonksiyonları çağırın ve gerekli çıktı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ı8Enumlar
Sayısal Enum Nedir?Sayısal Enum KullanımıString Enum Nedir?String Enum KullanımıHeterojen EnumlarÖzet: Enum Kullanımı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