enum - išvardinami galimi variantai

  • default tures reikesmes index (Simple = 0, Standart = 1, Premium = 2)
enum Membership {
 Simple,
 Standard,
 Premium
}
const membership = Membership.Standard
console.log(membership)
const membershipReverse = Membership[2]
console.log(membershipReverse)

Jeigu nurodysime nuo kurio skaičiaus prasideda numeracija - toliau bus auto:

enum Membership {
 Simple = 1,
 Standard, //bus 2
 Premium // bus 3
}
enum SocialMedia {
 VK = 'VK',
 FACEBOOK = 'FACEBOOK',
 INSTAGRAM = 'INSTAGRAM'
}

const social = SocialMedia.INSTAGRAM
console.log(social)

giterogeniniai enum

enum Decision {
Yes = 1,
No = 'NO'
}
enum D {
a = calcEnum()
}

function calcEnum() {
return 2
}

skaiciuoti tik number

function runEnum(obj: {Up: string}){
}

runEnum(Direction)
enum Test {
A
}

let test = Test.A
let nameA = Test[test]

runtime enum tampa funcijomis

enum Direction {
Up = 'UP'
...
}

tampa

var Direction

function (Direction) {
Direction["Up"] = "UP"
.....
....
}
const enum ConstEnum {
A,B
}

let c = ConstEnum.A
 

konvertuojant bus var c = 0

enum Dice {
One = 1
Two
}

function ruDice(dice: Dice) {
switch(dice) {
case Dice.One:
return 'vienas'
....

default:
const a: never = dice
}
}

Typescript error This condition will always return 'true' since the types have no overlap

....
   let tcStatus = TCStatusType.init as TCStatusType
....

 if (tcStatus !== TCStatusType.error) {