TypeScript enumlar
enum - bu doimiylar guruhini (o‘zgarmas o‘zgaruvchilar) ifodalovchi maxsus "class".
Enumlar ikki xil bo‘ladi string va numeric .
Raqamlardan boshlaylik.
Raqamli raqamlar - standart
Odatiy bo‘lib, enums birinchi qiymatni 0 ga ishga tushiradi va har bir qo‘shimcha qiymatga 1 qo‘shadi:
Misol
enum CardinalDirections {
North,
East,
South,
West
}
let currentDirection = CardinalDirections.North;
// logs 0
console.log(currentDirection);
// throws error as 'North' is not a valid enum
currentDirection = 'North'; // Error: "North" is not assignable to type 'CardinalDirections'.
O‘zingiz sinab ko‘ring »
Raqamli raqamlar - ishga tushirilgan
Siz birinchi raqamli raqamning qiymatini belgilashingiz va uni avtomatik ravishda oshirishingiz mumkin:
Misol
enum CardinalDirections {
North = 1,
East,
South,
West
}
// logs 1
console.log(CardinalDirections.North);
// logs 4
console.log(CardinalDirections.West);
O‘zingiz sinab ko‘ring »
Raqamli raqamlar - to‘liq ishga tushirilgan
Har bir enum qiymati uchun noyob raqam qiymatlarini belgilashingiz mumkin.
Keyin qiymatlar avtomatik ravishda oshirilmaydi:
Misol
enum StatusCodes {
NotFound = 404,
Success = 200,
Accepted = 202,
BadRequest = 400
}
// logs 404
console.log(StatusCodes.NotFound);
// logs 200
console.log(StatusCodes.Success);
O‘zingiz sinab ko‘ring »
String enum’lar
Enumlar strings ni ham o‘z ichiga olishi mumkin.
Bu raqamli raqamlardan ko‘ra ko‘proq uchraydi, chunki ularning o‘qilishi va maqsadi.
Misol
enum CardinalDirections {
North = 'North',
East = "East",
South = "South",
West = "West"
};
// logs "North"
console.log(CardinalDirections.North);
// logs "West"
console.log(CardinalDirections.West);
O‘zingiz sinab ko‘ring »
Texnik jihatdan siz string va raqamli raqam qiymatlarini aralashtirishingiz va moslashtirishingiz mumkin, ammo buni qilmaslik tavsiya etiladi.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
