Javascript 조건문

2023. 1. 14. 15:28JavaScript/Modern Javascript

목차
1. if 문
2. 삼항연산자( ? )

1. if문

 

if 문은 조건을 평가하여, 결과에 따라 어느 코드블럭을 실행할지 결정한다.

 

문법(Syntax)

if( 조건절 ) { true 시 실행 블럭 } else { false 시 실행 블럭 }

< 복수 조건의 처리시 >
if( 조건절 1번 ) { 1번 true 시 실행 블럭 } else if ( 조건절 2번 ){ 2번 true 시 실행 블럭 } else { false 시 실행 블럭 }

 

형변환

 

if 문은  조건절(소괄호)의 표현식을 평가하여 불린값으로 형 변환하여 코드 블럭을 진행한다.

  • falsy : 0, " ", Null, undefined, NaN 같은 형 변환시 false가 되는 값들
  • truthy : 이 외의 값들

2. 삼항 연산자( ? )

 

if 문과 같은 역할이며, 좀 더 짧게 표현하기 위해서 생겨났다.

 

조건부 연산자라고 하며, ? 로 표시한다.

 

피연산자가 세 가지이기 때문에 삼항(ternary) 연산자라고 한다.

 

 

 

문법(Syntax)

조건절 ? : 거짓

조건절이 참이면, 참이라 써진 곳을 반환하고, 거짓이면 기짓이라 써진 곳을 반환한다.

보통은 변수에 담아서 사용한다.

let 변수명 = 조건절 ? 참 : 거짓

여러 조건을 걸 수도 있다.

조건절 ?  : 조건절 ? 참 : 조건절 ? 참 : 거짓

조건절 ?  : [ 조건절 ?  참 : { 조건절 ? ( 참 : 거짓) } ] 구분을 위해 괄호를 써봤다.

 

예시(Sample)

let message;

if (login == '직원') {
  message = '안녕하세요.';
} else if (login == '임원') {
  message = '환영합니다.';
} else if (login == '') {
  message = '로그인이 필요합니다.';
} else {
  message = '';
}

위와 아래의 코드는 같은 역할을 한다.

let message = (login == '직원') ? '안녕하세요.' :
  (login == '임원') ? '환영합니다.' :
  (login == '') ? '로그인이 필요합니다.' :
  '';

 

삼항연산자로 바꾸는 것 이 반드시 좋은 것은 아니며, 오히려 가독성이 떨어질 수도 있다.

 

복잡한 코드의 경우 if문이 조금 더 적절한 경우가 많다.

 

상황에 따라서 알맞게 사용하도록 하자.

 

 


참고자료
https://ko.javascript.info/ifelse

'JavaScript > Modern Javascript' 카테고리의 다른 글

Javascript 반복문  (0) 2023.01.14
Javascript 논리 연산자  (1) 2023.01.14
Javascript 형변환  (0) 2023.01.14
Javascript 데이터 타입  (1) 2023.01.14
Javascript 객체와 in 연산자  (0) 2023.01.11