TIL 07 | JAVASCRIPT Control flow statement

Nazino·2022년 8월 6일
0

Javascript

목록 보기
3/15
post-thumbnail

제어문 (Control flow statement)

프로그램 또는 어플리케이션은 코드를 작성한대로 순차적으로 코드가 실행이된다. 이 실행의 순서를 개발자가 제어할 수 있도록 하는 것이 제어문이다. 제어문에는 조건문과 반복문이 있다.

조건문 (Conditional Statement)

  • if(조건) { }
  • if(조건) { } else {}
  • if(조건1) { } else if(조건2) {} else {}
let fruit = 'orange';
if(fruit === 'apple') {
 console.log('🍎'); 
} else if (fruit === 'orange') {
 console.log('🍊');
} else { 
 console.log('😭');
} // 🍊 출력

삼항 조건 연산자 (Ternary Operator)

let fruit = 'apple';
fruit === 'apple' ? console.log('🍎') : console.log('😭');
// 조건이 참일 경우 🍎출력, 거짓일 경우 😭출력

let imoji = fruit === 'apple' ? '🍎' : '😭';
console.log(imoji); // 🍎
// imoji의 변수에 조건이 참일 경우 🍎 할당, 거짓일 경우 😭 할당 

Switch

if else if else ... else 로 반복되는 if문과 달리 정해진 범위 안의 값에 대해 특정한 일을 해야하는 경우 switch문을 사용한다

let day = 6; // 0:월요일, 1:화요일... 6:일요일
let dayName;
if (day === 0) {
 dayName = '월요일';
} else if (day === 1) {
 dayName = '화요일';
} else if (day === 2) {
 dayName = '수요일';
} else if (day === 3) {
 dayName = '목요일';
} else if (day === 4) {
 dayName = '금요일';
} else if (day === 5) {
 dayName = '토요일';
} else if (day === 6) {
 dayName = '일요일';
} 
// 이런 조건에서 if문으로 코드를 작성하면 지저분하고 복잡해보임
// switch문 사용시
switch (day) {
  case 0:
   dayName = '월요일';
   break;
  case 1:
   dayName = '화요일';
   break;
  case 2:
   dayName = '수요일';
   break;
  case 3:
   dayName = '목요일';
   break;
  case 4:
   dayName = '금요일';
   break;
  case 5:
   dayName = '토요일';
   break;
  case 6:
   dayName = '일요일';
   break;
  default:
    console.log('해당하는 요일이 없음'); // if문의 else와 같은 역할
}
// if문 보다 더 보기 쉽게 작성 가능하다.

// break 사용의 다른 예
let condition = 'good'; // okay, good -> 좋음, bad -> 나쁨
let text;
switch (condition) {
  case 'okay': // case별로 제어를 하기 위해 break를 검
  case 'good':
    text = '좋음';
    break;
  case 'bad':
    text = '나쁨';
    break;
}

반복문 (Loop Statement)

for(변수선언문; 조건식; 증감식) { }

실행순서

    1. 변수선언문
    1. 조건식의 값이 참이면 { } 코드블럭을 수행
    1. 증감식을 수행
    1. 조건식이 거짓이 될 때까지 2번과 3번을 반복함
for (let i = 0; i < 5; i++) {
 console.log(i);  
} // 0,1,2,3,4 출력

for (let i = 0; i < 5; i++) {
 for (let j = 0; j < 5; j++) {
  console.log(i,j);
 }
} // 0, 0
  // 0, 1
  // 0, 2
  // .... 중첩해서 사용가능

// 반복문 제어
// break - for과 while의 루프에서 벗어나기 위해 사용된다. 
// 제어흐름을 그 즉시 중단하고 빠져나온다.
// continue - 제어흐름(반복)을 유지한 상태에서 코드의 실행만 건너뛰는
// 역할을 한다. (while문 다음 반복을 시작)

while (조건) {}

조건이 false가 될 때까지 {} 코드를 반복 실행

let num = 5;
while (num >= 0) {
 console.log(num);
 num--;
} // 5,4,3,2,1,0 출력

do {} while () 
// while은 조건에 맞으면 루프가 실행되지만 do-while은 조건에 상관없이 무조건 한 번 실행되고 나서 루프가 시작된다.

논리연산자 (Logical Operator)

  • && - 그리고
  • || - 또는
  • ! 부정 (단항연산자에서 온 것)
  • !! 불리언값으로 변환 (단항연산자 응용 버전)

0개의 댓글