ts enum spread

example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
enum TestStatus {
PENDING,
ACCEPTED,
WRONG_ANSWER,
}
console.log(Object.values(TestStatus));
// [ 'PENDING', 'ACCEPTED', 'WRONG_ANSWER', 0, 1, 2 ]

export enum Actor {
USER = 'USER',
HOST = 'HOST',
ADMIN = 'ADMIN',
}

console.log(Object.values(Actor));
// [ 'USER', 'HOST', 'ADMIN' ]
  • 일반 Numeric enums의 경우 멤버 이름과 값이 나온다
  • String enums의 경우 값만 나온다
  • es2017 이상에서 사용할 수 있다

참고