[JavaScript] 모던 자바스크립트 Deep Dive 8장 제어문

Lily·2022년 4월 12일
0

제어문

  • 문의 끝에는 세미콜론(:)을 붙이는 것이 일반적이다. 하지만 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문의 끝에는 세미콜론을 붙이지 않는다는 것에 주의하자

삼항 연산자

let kind = num ? (num > 0 ? '양수' : '음수') : '영';

console.log(kind) // 양수

switch 문

  • 대부분은 if...else 문으로 해결하고, 조건이 너무 많이 올 때 가독성을 위해 switch를 사용하자
  • default 문은 선택사항이다.
  • 풀스루 : break를 사용하지 않으면 실행흐름이 이동하여 문을 실행하고, 문을 탈출하지 않고 모든 문을 실행하여 마지막인 default를 출력한다.
switch(표현식) {
  case 표현식1:
    switch 문의 표현식의 표현식1이 일치하면 실행될 문;
    break;
  case 표현식2:
    switch 문의 표현식의 표현식2이 일치하면 실행될 문;
    break;
   default;
      switch 문의 표현식과 일치하는 case문이 없을 때 실행될 문;
}
let month = 11;
let monthName;

switch(month) {
    csae 1: monthName = 'January';
  case 2  : monthName = 'February'; 
    
   .
   .
   .
   case 11 : monthName = 'November';
  case 12 : monthName = ' December';
    default : monthNAme = 'Invalid month';
    
}
console.log(monthName); // Invalid mohtn 

반복문

  • 무한루프 : 변서 선언문, 조건식, 증감식은 모두 옵션이므로 반드시 사용할 필요는 없다. 단, 어떤 식도 선언하지 않으면 무한루프가 된다. 무한루프란 코드 블록을 무한히 반복 실행하는 문이다.
for(;;) {...}

while 문

  • 반복 횟수가 불명확할 때 주로 사용한다. 따라서 조건식의 평가 결과가 언제나 참이면 무한루프가 된다. 무한루프를 탈출하기 위해서는 코드 블록 내에 if문으로 탈출 조건을 만들고 break문으로 코드 블록을 탈출 한다.

do...while 문

  • 코드 블록을 먼저 실행한 후, 조건식을 평가한다.
  • 따라서 코드 블록은 무조건 한 번이상 실행된다.
let count= 4;
do { 
console.log(count); // 4
count++; 
console.log(count)l // 5
} while (count < 3);

break 문

  • break문은 반복문, 스위치 문의 코드블록을 탈출할 때 사용한다.
    그 외의 문에서는 문법에러가 발생한다
if(true) {
  break;
}

continue 문

  • 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킨다. break문처럼 반복문을 탈출하지는 않는다.
let string = "Hello World.";
let seartch = 'l';
let count = 0;

for(let i = 0; i < string.length; i++) {
  if(string[i] !== search) continue;
  
  count++;
}

console.log(count); //3
const regxp = new RegExp(search, 'g');
console.log(string.match(regexp).length); // 3
for(let i = 0; i < string.length; i++) {
  if(string[i] !== search) count++;
}

0개의 댓글