Sayısal Enum Kullanımı
Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası — ders 52 / 73.
Bir enum'ı, diğer herhangi bir TypeScript türü gibi bir tür açıklaması (type annotation) olarak kullanabilirsiniz. Bir enum'ı parametre türü olarak belirttiğinizde, TypeScript o fonksiyona yalnızca geçerli enum değerlerinin geçirilmesini sağlar:
function processUser(role: UserRole): void {
if (role === UserRole.Admin) {
console.log("Full access granted");
} else if (role === UserRole.Editor) {
console.log("Edit access granted");
} else {
console.log("View access only");
}
}Bu yaklaşım mükemmel tip güvenliği sağlar - TypeScript, geçersiz değerler geçirme girişimlerini yakalayacaktır ve kod düzenleyiciniz mevcut enum üyeleri için otomatik tamamlama sunacaktır. Bu fonksiyonu processUser(UserRole.Admin) veya hatta processUser(0) kullanarak çağırabilirsiniz, çünkü sayısal enumlar temel sayısal değerlerini kabul eder.
Görev
KolayBir parametre alan checkPermissions adında bir fonksiyon oluşturun:
UserRoletipinderole(önceki dersteki enum'ı kullanarak)
Fonksiyon şunları yapmalıdır:
- Rol değerini kontrol etmeli ve role göre farklı mesajlar yazdırmalıdır
- Eğer rol
UserRole.Adminise,"Full access granted"yazdırın - Eğer rol
UserRole.Editorise,"Edit access granted"yazdırın - Diğer tüm roller için
"View access only"yazdırın - Dönüş tipi
voidolmalıdır
Önceki meydan okumadan size şunlar sağlanmıştır:
Admin,EditorveViewerüyelerine sahipUserRoleenum'ı- Değişkenler:
adminRole,editorRoleveviewerRole
UserRole tipinde currentUser adında bir değişken oluşturun ve ona UserRole.Editor değerini atayın.
UserRole tipinde guestUser adında bir değişken oluşturun ve ona 2 sayısal değerini atayın.
checkPermissions fonksiyonunuzu çağırarak aşağıdaki çıktıları yazdırın:
checkPermissionsfonksiyonunuadminRoleile çağırıncheckPermissionsfonksiyonunucurrentUserile çağırıncheckPermissionsfonksiyonunuguestUserile çağırıncheckPermissionsfonksiyonunuUserRole.Adminile çağırıncheckPermissionsfonksiyonunu0sayısal değeri ile çağırın
Kendin dene
// Önceki görevden sağlanan
enum UserRole {
Admin,
Editor,
Viewer
}
const adminRole = UserRole.Admin;
const editorRole = UserRole.Editor;
const viewerRole = UserRole.Viewer;
// YAPILACAK: Kodunuzu buraya yazın
// checkPermissions fonksiyonunu oluşturun
// currentUser değişkenini oluşturun
// guestUser değişkenini oluşturun
// checkPermissions fonksiyonunu gerekli parametrelerle çağı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