8장 제어문

inhalin·2021년 3월 18일
0
post-thumbnail

8.2 조건문

조건문(conditional statement)은 조건식(conditional expression)의 결과에 따라 코드블럭의 실행을 결정한다.

if...else 문

주어진 조건식의 결과값이 true이면 if 문의 코드, false이면 else 문의 코드를 실행한다.

만약 조건식이 불리언 값이 아니면 자바스크립트 엔진에 의해 암묵적으로 강제 변환된 불리언 값에 따라 코드를 실행한다.

if (조건식1){
  // 조건식1이 true 일때 실행할 코드
} else if (조건식2){
  // 조건식1이 false이고 조건식2가 true일때 실행할 코드
} else {
  // 위의 조건식이 전부 false일때 실행할 코드
}

if 문은 맨 처음 한번, else문은 마지막에 한번만 쓸 수 있고, else if 문은 원하는 조건식의 수만큼 얼마든지 쓸 수 있다.

else 문과 else if 문은 필요하면 쓰고 아니면 안써도 된다.

// 코드 추가 작성중

switch 문

switch 문은 주어진 표현식의 결과값과 일치하는 표현식을 갖는 case 문을 실행한다. case 문과 일치하는게 없으면 default 문을 실행한다. default 문은 옵션이다.

if...else 문은 true, false 값으로 조건을 판단하는데 비해 switch문은 보통 문자열이나 숫자 값으로 조건을 판단하는 경우가 많다. 즉, 다양한 상황에 따라 다른 코드를 실행하고 싶을때 사용하면 좋다.

// 코드 추가 작성중

case 문 끝에 break 문을 안쓰면 다음 case 문을 실행하는데 이것을 폴스루(fall through) 라고 한다. break 문을 깜빡하고 쓰지 않으면 잘몬된 실행결과가 나올 수 있다. 그렇지만 특정한 경우에는 폴스루가 유용하게 사용되는 경우도 있다.

// 코드 추가 작성중

8.3 반복문

for 문

for 문은 조건식이 false가 될 때까지 코드 블럭을 반복 실행한다. 주로 반복횟수를 알고 있을때 사용한다.

const str = 'hello';

for(int i=0; i < str.length; i++){
  console.log(str[i]);
}

while 문

while 문도 조건식이 false가 될 때까지 코드 블럭을 반복 실행한다. 주로 반복횟수가 불명확할때 사용한다.

let count = 0;

while (count < arr.length) {
  console.log(count);
  count++;
}

조건식이 언제나 true면 무한루프가 되는데 이때는 if 문의 조건에 맞을때 break 문을 사용해서 while 문을 빠져나온다.

do...while 문

do...while 문은 먼저 코드블럭을 실행하고 조건식을 평가해서 결과값에 따라 코드블럭을 반복 실행한다. 따라서 반드시 한번은 코드블럭을 실행하게 되어있다.

let i = 0;
do {
  console.log(i);
  i++;
} while(i < 1);

8.4 break 문

break 문은 레이블 문, 반복문, switch 문의 코드블럭을 탈출한다. 그 외의 코드블럭에서 break 문을 사용하면 SyntaxError가 발생한다.

레이블 문(lable statement)은 식별자가 붙은 문이다. 중첩된 for 문 외부로 탈출할 때는 유용하지만 보통은 레이블 문을 사용하면 프로그램 흐름이 복잡해지고 가독성도 떨어지기 때문에 사용을 권장하지는 않는다.

// 코드 추가 작성중

8.5 continue 문

continue 문은 반복문에서 코드를 실행하던 것을 그 지점에서 중단하고 반복문의 증감식으로 넘어간다.

// 코드 추가 작성중

이웅모 저자의 <모던 자바스크립트 Deep Dive> 책으로 스터디 하면서 공부한 내용들을 요약 정리해서 올리는 글입니다. 더 자세한 내용이 궁금하신 분들은 책을 봐주세요.

0개의 댓글