Menu
Coddy logo textTech

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.

challenge icon

Görev

Kolay

Bir parametre alan checkPermissions adında bir fonksiyon oluşturun:

  • UserRole tipinde role (ö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.Admin ise, "Full access granted" yazdırın
  • Eğer rol UserRole.Editor ise, "Edit access granted" yazdırın
  • Diğer tüm roller için "View access only" yazdırın
  • Dönüş tipi void olmalıdır

Önceki meydan okumadan size şunlar sağlanmıştır:

  • Admin, Editor ve Viewer üyelerine sahip UserRole enum'ı
  • Değişkenler: adminRole, editorRole ve viewerRole

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:

  • checkPermissions fonksiyonunu adminRole ile çağırın
  • checkPermissions fonksiyonunu currentUser ile çağırın
  • checkPermissions fonksiyonunu guestUser ile çağırın
  • checkPermissions fonksiyonunu UserRole.Admin ile çağırın
  • checkPermissions fonksiyonunu 0 sayı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ın
quiz iconKendini test et

Bu 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