제어문
- 제어문은 조건에 따라 코드 블록을 실행하거나 반복 실행 할 때 사용한다. 일반적인 코드는 위에서 아래로, 순차적으로 실행되는데 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다.
- 그렇기 때문에 코드의 흐름을 어렵게 만들어 가독성을 해칠 수 있다는 단점이 있다.
switch문
- switch문 : switch문은 주어진 표현식을 평가해 그 값과 일치하는 case문이 있다면 그에 해당하는 코드를 실행한다. 이 때 switch문의 표현식과 일치하는 case가 없다면, default로 이동해 그 코드를 실행한다. default는 옵션.
- if...else 문의 조건식은 불리언 값으로 평가되는데 (true or false) switch문의 표현식은 불리언 보다는 문자열 or 숫자값인 경우가 많다. → 논리적인 참, 거짓으로 코드 실행을 결정하기 보다, 다양한 상황(case)에 따라 실행할 코드 블록을 결정할 때 많이 사용한다.
- 조건식과 일치하는 case를 실행한 뒤에는 break를 사용해 해당 switch문을 탈출해야 한다. break가 없어서 모든 case를 다 도는 경우를 fall through 라고 한다.
let month = 11;
let monthName;
switch (month) {
case 1: monthName = 'January';
break;
case 11: monthName = 'November';
break; //break문을 이용해 switch를 탈출!
}
- if...else로 해결할 수 있다면 switch문 보다 if...else를 사용하는 편이 좋다. 상황에 따라 가독성이 더 좋은 쪽으로 사용하는 것이 좋음.
while문
- while 반복문 : while은 주어진 조건식의 평가 결과가 참이면, 코드블록을 계속해서 반복 실행한다. for문은 반복 횟수가 명확할 때, while문은 반복 횟수가 불명확할 때 주로 사용한다.
- 조건식의 결과가 언제나 참일 경우 무한루프가 되므로 if문으로 탈출조건을 만들고 break문으로 코드 블록을 탈출한다.
let cnt = 0;
while(true) {
count++;
if (count === 3) break;
}
참고자료
모던 자바스크립트 Deep Dive : http://www.yes24.com/Product/Goods/92742567
'JavaScript > 모던 자바스크립트 Deep Dive' 카테고리의 다른 글
[모던 자바스크립트 딥다이브] 17. 생성자 함수 (0) | 2022.06.16 |
---|---|
[모던 자바스크립트 딥다이브] 함수 선언문, 함수 표현식 (0) | 2022.05.23 |
[모던 자바스크립트 딥다이브] 4.변수 (0) | 2022.02.02 |