자바스크립트 조건문

kiki97 ㅣ 2022. 8. 12. 18:14

반응형

if문

if(...) 조건식의 결과가 true이면 코드블록실행

let year = prompt('ECMAScript-2015 명세는 몇 년도에 출판되었을까요?', '');

if (year == 2015) alert( '정답입니다!' );
  • 조건식이 true일 때 복수의 문을 실행한다면 중괄호로 코드 블록을 감싸야한다.
if (year == 2015) {
  alert( "정답입니다!" );
  alert( "아주 똑똑하시네요!" );
}
  • 구문이 한 줄이더라도 가독성을 위해 코드 블록으로 감싸는것을 권장

 

불린형으로 변환

if (...) 문은 괄호 안의 표현식을 평가하고 그 결과를 불린값으로 변환한다.

  • 숫자 0, 빈문자열"", null, undefined, NaN은 불린형으로 변환 시 모두 false

 

'else'절

if문엔 else절을 붙일 수 있따. else 뒤에 이어지는 코드 블록은 조건이 거짓일때 실행된다.

let year = prompt('ECMAScript-2015 명세는 몇 년도에 출판되었을까요?', '');

if (year == 2015) {
  alert( '정답입니다!' );
} else {
  alert( '오답입니다!' ); // 2015 이외의 값을 입력한 경우
}

 

'else if'로 복수 조건 처리하기

여러개의 조건을 처리해야할때 사용할 수 있다.

let year = prompt('ECMAScript-2015 명세는 몇 년도에 출판되었을까요?', '');

if (year < 2015) {
  alert( '숫자를 좀 더 올려보세요.' );
} else if (year > 2015) {
  alert( '숫자를 좀 더 내려보세요.' );
} else {
  alert( '정답입니다!' );
}
  • 마지막에 else는 필수가 아닌 선택사항이다.

 

조건부 연산자 '?'

피연산자가 3개인 조건부 연산자 '?'는 삼항연산자라고 부르기도 한다.

let result = condition ? value1 : value2;
  • condition이 참이면 value1, 거짓이면 value2

 

다중 '?'

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

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

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

alert( message );
  • 헷갈려 보이지만 참이면 옆에 코드 실행, 거짓이면 아래 코드실행 한줄씩 차근차근 보면 된다.

 

반응형