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) {