Enum

TypeScript-dagi Enumlar

TypeScript Enumlar

Enum — bu o‘zgarmas o‘zgaruvchilar guruhini ifodalovchi maxsus "klass".

Enumlar ikki xil bo‘ladi: string (matn) va sonli. Keling, sonli enumlardan boshlaymiz.

Sonli Enumlar - Standart

Standart bo'yicha enumlar birinchi qiymatni 0 ga belgilaydi va keyingi har bir qiymatga 1 qo'shadi:

Misol:

enum CardinalDirections {
  North,
  East,
  South,
  West,
}
 
let currentDirection = CardinalDirections.North;
// 0 ni chiqaradi
console.log(currentDirection);
// 'North' yaroqli enum emasligi sababli xatolik chiqaradi
currentDirection = 'North'; // Xatolik: "North" 'CardinalDirections' turiga mos kelmaydi.

Sonli Enumlar - Initsializatsiya Qilingan

Siz birinchi sonli enumning qiymatini o'rnatishingiz va undan keyingi qiymatlarni avtomatik ravishda oshirib borishingiz mumkin:

Misol:

enum CardinalDirections {
  North = 1,
  East,
  South,
  West,
}
 
// 1 ni chiqaradi
console.log(CardinalDirections.North);
// 4 ni chiqaradi
console.log(CardinalDirections.West);

Sonli Enumlar - To‘liq Initsializatsiya Qilingan

Har bir enum qiymatiga noyob son qiymatlarini berishingiz mumkin. Bunda qiymatlar avtomatik ravishda oshirilmaydi:

Misol:

enum StatusCodes {
  NotFound = 404,
  Success = 200,
  Accepted = 202,
  BadRequest = 400,
}
 
// 404 ni chiqaradi
console.log(StatusCodes.NotFound);
// 200 ni chiqaradi
console.log(StatusCodes.Success);

String Enumlar

Enumlar stringlar (matnlar) ham o‘z ichiga olishi mumkin. Bu sonli enumlarga qaraganda ko‘proq ishlatiladi, chunki ular o‘qilishi oson va niyatni yaxshiroq ifodalaydi.

Misol:

enum CardinalDirections {
  North = 'North',
  East = 'East',
  South = 'South',
  West = 'West',
}
 
// "North" ni chiqaradi
console.log(CardinalDirections.North);
// "West" ni chiqaradi
console.log(CardinalDirections.West);

Texnik jihatdan, string va sonli enum qiymatlarini aralashtirib ishlatishingiz mumkin, ammo buni qilish tavsiya etilmaydi.

Ushbu sahifada

GitHubda tahrirlash