TIL - 14 | JavaScript - if와 '?'를 사용한 조건 처리

Soojong Kim·2021년 5월 23일
0
post-thumbnail

if문

let year = prompt ('올해는 몇 년도입니까?', '');
if (year === 2021) {
  alert('정답이니다');
    }

else절

let year = prompt ('올해는 몇 년도입니까?', '');
if (year === 2021) {
  alert('정답이니다');
  } else {
  alert('오답입니다');
  }

else 뒤에 이어지는 조건이 거짓일 때 실행

else if

let year = prompt('개발 시작한 년도는?', '');

if (year < 2020) {
  alert( '숫자를 좀 더 올려보세요.' );
} else if (year > 2021) {
  alert( '숫자를 좀 더 내려보세요.' );
} else {
  alert( '정답입니다!' );
}

조건부 연산자'?'

let accessAllowed;
let age = prompt('나이를 입력해 주세요.', '');

if (age > 18) {
  accessAllowed = ('입장이 가능합니다');
} else {
  accessAllowed = ('입장이 불가능합니다');
}

alert(accessAllowed);
  • 자바스크립트에서 피연산자가 3개나 받는 연산자는 조건부 연산자가 유일

문법

let result = condition ? value 1 : value 2;

평가 대상인 condition이 truthy이면 value 1 그렇지 않으면 value 2

let accessAllowed = ( age > 19 ) ? true : false; 

// 연산자 우선 순위 규칙에 따라, 비교 연산 age > 19가 먼저 실행 
// 조건문을 괄호로 감쌀 필요가 필요는 없으나, 
let accessAllowed = age > 19 ? true : false;
// 코드의 가독성 향상을 위해 괄호를 사용할 것을 권장.

// 물음표 연산자를 사용하지 않아도 동일하게 작동 
let accessAllowed = age > 19; 

다중 '?'

물음표 연산자 '?'를 연결하면 복수의 조건을 처리할 수 있다.

let age = prompt('나이를 입력해주세요.', 30);

let message = (age < 5) ? '아기 안녕!' :
	(age < 31) ? '안녕!' :
    (age < 100) ? '환영합니다' : 
    '나이가 아닌 값을 입력하셨군요';
alert (message);   

if else 를 사용해서 변형이 가능하다.

if ( age < 5) {
message = '아기 안녕!';
} else if ( age < 31 ) {
message = '안녕!';
} else if ( age < 100 ) {
message = '환영합니다!'; 
} else {
message = '나이가 아닌 값을 입력하셨군요!';

입력받은 숫자의 부호 표시

  • 입력받은 숫자가 0보다 큰 경우 1을 출력
  • 입력받은 숫자가 0보다 작은 경우 -1을 출력
  • 입력받은 숫자가 0인 경우 0을 출력
let value = prompt('숫자를 입력하세요.',0);
if (value > 0 ) {
	alert( 1 ); 
} else if ( value < 0 ) {
	alert ( -1 );
} else {
	alert ( 0 );
}

0개의 댓글