TypeScript enumlar


enum - bu doimiylar guruhini (o‘zgarmas o‘zgaruvchilar) ifodalovchi maxsus "class".

Enumlar ikki xil bo‘ladi string va numeric .

Raqamlardan boshlaylik.


ULASHISH

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!