자바스크립트도 typescript 처럼 타입을 부여한 덩어리를 만들 수 있다!

enum class 를 이용한다면 날 것 그대로의 문자열을 사용하지 않고 타입들을 지정할 수 있다.

 

javascript enum class 사용예시

const State = Object.freeze({
    win: 'win',
    fail: 'fail',
    cancel: 'cancel',
});

const StateMessage = Object.freeze({
    win: 'SUCCESS !!',
    fail: 'fail ... replay ?',
    cancel: 'replay ?',
    error: 'not valid state',
});



// enum class 사용 전 코드

function getStateMessage(state) {
	let message;
	switch (state) {
		case 'win':
			message = 'SUCCESS !!';
			break;
		case 'fail':
			message = 'fail ... replay ?';
			break;
		case 'cancel':
			message = 'replay ?'
			break;
		default:
			throw new Error('not valid state');
	}
    return message;
}



// enum class 사용 후 코드

function getStateMessage(state) {
	let message;
	switch (state) {
		case State.win:
			message = StateMessage.win;
			break;
		case State.fail:
			message = StateMessage.fail;
			break;
		case State.cancel:
			message = StateMessage.cancel;
			break;
		default:
			throw new Error(StateMessage.error);
	}
	return message;
}

+ Recent posts