자바스크립트

[JS]제어문(조건문)

민ズl 2024. 10. 7. 09:53

일반적으로 코드는 위에서 아래 방향으로 순차적으로 실행되는데, 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다!

⭐조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용함!

 

조건문이란🤔

주어진 조건식의 평가 결과에 따라 코드 블록(블록문)의 실행을 결정하는 구문

*조건식은 불리언 값으로 평가될 수 있는 표현식

조건문에는 if...else문switch문으로 두가지 조건문이 있다!

 

🔸if...else문

  • 주어진 조건식(불리언값으로 평가될 수 있는 표현식)의 평가 결과
  • 조건식의 평가 결과가 true일 경우 if문의 코드 블록이 실행되고, false일 경우 else 문의 코드 블록이 실행됨
  • if문의 조건식은 불리언 값으로 평가되어야 한다
  • 조건식을 추가하여 조건에 따라 실행될 코드 블록을 늘리고 싶으면 else if문을 사용한다
if(조건식1){
	//조건식1이 참일때 실행시킬 코드블록
} else if(조건식2){
	//조건식2가 참일때 실행시킬 코드블록
} else {
	//조건식1,2 모두 거짓일때 실행시킬 코드블록
}

*if문과 else문은 한번만 사용, else if문과 else문은 사용해도 사용하지 않아도 됨!(옵션)

[mdn 공식문서]

 

if...else - JavaScript | MDN

if 문은 지정한 조건이 참인 경우 명령문(statement)을 실행합니다. 조건이 거짓인 경우 또 다른 명령문이 실행 될 수 있습니다.

developer.mozilla.org


🔸삼항 조건 연산자

  • 대부분의 if...else문은 삼항 조건 연산자로 바꿔 쓸 수 있음!
  • 조건식 ? 조건식이 참일때 실행시킬 코드 : 조건식이 거짓일때 실행시킬 코드;

👇if...else문

let num = 2;
if(num % 2 === 0){
  console.log('짝수')
}else {
  console.log('홀수')
}

 

👇위에 if...else문을 삼항 조건 연산자로 바꿈

let num = 2;
num % 2 === 0 ? console.log('짝수') : console.log('홀수');

[mdn 공식문서]

 

조건 (삼항) 연산자 - JavaScript | MDN

조건 (삼항) 연산자는 JavaScript에서 세 개의 피연산자를 받는 유일한 연산자입니다. 앞에서부터 조건문, 물음표(?), 조건문이 참(truthy)일 경우 실행할 표현식, 콜론(:), 조건문이 거짓(falsy)일 경우

developer.mozilla.org


🔸switch문

  • 여러 조건을 검사하고, 특정 변수의 값에 따라 여러 코드 블록 중 하나를 실행
  • if...else문은 논리적으로 참,거짓으로 실행할 코드 블록을 결정하지만,
    switch문은 다양한 상황(case)에 따라 실행될 코드 블록을 결정할 때 사용함
  • break문이 없다면 case 문의 표현식과 일치하지 않더라도 실행 흐름이 다음 case 문으로 연이어 이동함 
switch(표현식) {
  case 표현식1:
    switch문의 표현식과 표현식1이 일치하면 실행될 문;
    break;
  case 표현식2:
    switch문의 표현식과 표현식2가 일치하면 실행될 문;
    break;
  default:
    switch문의 표현식과 일치하는 case문이 없을 때 실행될 문;
}

[mdn 공식문서]

 

switch - JavaScript | MDN

The switch statement evaluates an expression, matching the expression's value against a series of case clauses, and executes statements after the first case clause with a matching value, until a break statement is encountered. The default clause of a switc

developer.mozilla.org


if...else문으로 해결할 수 있다면 switch문보다 if...else문을 사용하는 편이 좋다!

하지만 조건이 너무 많아서 if...else문보다 switch문을 사용했을 때 가독성이 더 좋다면 switch문을 사용하는 편이 좋음!