기존에 작성한 if문을 switch문으로 수정하여 사용해보자.
switch문은 if문과 같이 조건문이지만, switch문은 if문처럼 조건식이 이상,이하,초과,미만같은 부등식(<,<=,>,>=)은 사용할 수 없다. 오직 === 만 비교할 수 있다. 즉, 모든 switch문은 if문으로 바꿀수 있지만 if문에서 부등식이 사용된 경우에는 switch문으로 바꿔 사용할 수 없다.
switch문을 사용하면 if문보다 코드의 가독성이 좋아지고, switch문이 if문보다 약간 빠르기때문에 switch문으로 작성할 수 있는 코드가 있다고하면 switch문으로 코딩하는 것이 좋다.
const test = 1004;
switch (test) {
case 1000 :
alert('선택한 값은 1000입니다.');
break;
case 1001 :
alert('선택한 값은 1001입니다.');
break;
case 1002 :
alert('선택한 값은 1002입니다.');
break;
case 1003 :
alert('선택한 값은 1003입니다.');
break;
case 1004 :
alert('선택한 값은 1004입니다.');
break;
default :
alert('선택한 값이 없습니다.');
break;
}
//if문
checkVal = (e) => {
const { name, value } = e.target;
this.setState({ [name]: value });
if (name === "email") {
this.handleEmail(value);
} else if (name === "mobile") {
this.handleNumber(value);
} else if (name === "password") {
this.handlePw(value);
} else if (name === "re_password") {
this.handleRePw(value);
}
};
//switch문
checkVal = (e) => {
const { name, value } = e.target;
this.setState({ [name]: value });
switch (name) {
case "email":
this.handleEmail(value);
break;
case "mobile":
this.handleNumber(value);
break;
case "password":
this.handlePw(value);
break;
case "re_password":
this.handleRePw(value);
break;
default:
break;
}
};