자바스크립트_기초_2.10

HwiJeongLee·2021년 8월 18일
0

자바스크립트

목록 보기
14/28

if와 '?'를 사용한 조건 처리

조건에 따른 처리는 if문과 ? 연산자를 사용하면 됩니다.

if문

if(표현식 1)
{
// 표현식 1이 참이면 해당 블럭의 코드가 실행됩니다.
} 
else if(표현식 2)
{
// 표현식 1은 거짓이지만, 표현식 2가 참이면 해당 블럭의 코드가 실행됩니다.
}
else{
// 거짓이면 해당 블럭의 코드가 실행됩니다.
// else 문은 없어도 됩니다.
}

이 때 if문 안의 표현식을 평가한 후 그 결과를 불린값으로 변환합니다.

falsy값
0, "", null, undefined, NaN이 결과로 나오면 false가 됩니다.

truthy값
위의 falsy값 외의 모든 값은 true로 변환됩니다.

주로 표현식에는 비교연산자를 이용한 표현식이 많이 나옵니다.

조건부 연산자 ?

var answer;
var age = prompt('나이를 입력해주세요.');
if (age > 18){	
	answer = true;
}else{
	answer = false;
}

alert(answer)
var answer = age>18 ? true : false;
alert (answer)

위 두 코드는 정확하게 같은 표현입니다.
이 때 true, false의 경우는 비교 연산자의 반환값이므로 아래 처럼만 표현해도 됩니다.

var answer = age>18

다중 ? 연산자

if (age < 3) {
  message = '아기야 안녕?';
} else if (age < 18) {
  message = '학생, 안녕!';
} else if (age < 100) {
  message = '환영합니다!';
} else {
  message = '나이가 아주 많으시거나, 나이가 아닌 값을 입력 하셨군요!';
}

위와 같은 다중 조건문의 경우 다중 ? 연산자를 이용해서 표현할 수 있습니다.

let message = (age < 3) ? '아기야 안녕?' :
  (age < 18) ? '안녕!' :
  (age < 100) ? '환영합니다!' :
  '나이가 아주 많으시거나, 나이가 아닌 값을 입력 하셨군요!';

하지만 ? 연산자의 경우 가독성이 떨어지므로 사용에 주의하여야 합니다.

profile
초보 개발자의 개발 공간

0개의 댓글