Enum 타입은 굉장히 많은 언어에서 사용한다. 하지만 자바스크립트에서는 존재하지 않는 개념이라서 나에겐 생소한 개념이다. 타입스크립트에서 이 기능을 활성화해줄 수 있다.
Enum이란?
관련된 특정 상수값의 집합
enum State {
DONE,
LOADING,
INITIAL,
ERROR,
}
function runWork() {
let state = State.INITIAL;
try {
state = State.LOADING;
// 작업을 한다.
state = State.DONE;
} catch (e) {
state = State.ERROR;
} finally {
return state;
}
}
console.log(runWork() == State.DONE);
console.log(runWork()); // 0이 나옴
runWork 함수의 결과가 0으로 나오는 이유는 enum을 선언할 때 순서대로 숫자가 0부터 차례대로 붙는다. 그래서 DONE이 리턴값이므로 0이 출력된다. 이것을 아래와 같이 우리가 임의로 어떤 값으로도 지정해줄 수 있다는 것을 기억하자.
enum State {
DONE = 'DONE',
LOADING = 'LOADING',
INITIAL= 'INITIAL',
ERROR='ERROR',
}
처음 접해보는 enum의 개념을 알아보았는데 아직까지는 이걸 어떤 상황에서 사용하는 것이 좋은지 잘 모르겠다..