[JavaScript] 삼항연산자와 조건문(if ... else문) 차이
Lpla
·2021. 4. 8. 21:42
반응형
삼항연산자(삼항 조건 연산자)는 자바스크립트에서 세 개의 피연산자를 취할 수 있는 유일한 연산자다.
삼항연산자의 표현식은 아래와 같다.
조건식 ? 조건식의 true 값 : 조건식의 false 값
삼항연산자는 첫번째 피연산자가 true라면 두번째 피연산자를 반환하고, 첫번째 피연산자가 false라면 세 번째 피연산자를 반환한다.
var age = 30;
var checkEven = age % 2 ? "홀수입니다." : "짝수입니다."
console.log(checkEven);
// "짝수입니다."
checkEven은 age의 홀수, 짝수를 판단하는 삼항연산자이다.
나머지를 구하는 % 를 사용하여 나머지가 0 이라면 false로 세 번째 피연산자를 반환하고, 나머지가 1이라면 true로 두 번째 피연산자를 반환한다.
삼항연산자는 조건문(if ... else문)으로 대신할 수 있다.
var age = 30;
if (age % 2) checkEven = "홀수";
else checkEven = "짝수";
console.log(checkEven);
// "짝수입니다."
var age = 30;
if (age % 2) {
checkEven = "홀수";
} else {
checkEven = "짝수";
}
console.log(checkEven);
// "짝수입니다."
하지만 삼항연산자는 조건문과 큰 차이점이 존재한다.
삼항연산자는 결과값을 변수에 할당하여 바로 사용할 수 있지만 조건문은 그럴 수 없고 조건문 내부에서 할당해야 한다.
var age = 30;
var checkEven = age % 2 ? "홀수입니다." : "짝수입니다."
console.log(checkEven);
// "짝수입니다."
var age = 30;
var checkEven = if (age % 2) checkEven = "홀수";
else checkEven = "짝수";
console.log(checkEven);
// Uncaught SyntaxError: Unexpected token 'if'
var age = 30;
if (age % 2) {
checkEven = "홀수";
} else {
checkEven = "짝수";
}
console.log(checkEven);
// "짝수입니다."
반응형