모던 자바스크립트 Deep Dive - 8장 제어문

밀루·2023년 10월 8일
0

제어문은 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용한다. 제어문을 사용하면 순차적으로 실행되는 코드의 흐름을 인위적으로 제어할 수 있다.

블록문

  • 0개 이상의 문을 중괄호({})로 묶은 것
  • 자바스크립트는 블록문을 하나의 실행 단위로 취급

조건문

  • 주어진 조건식의 평과 결과에 따라 코드 블록(블록문)의 실행을 결정하는 것
    (조건식은 불리언 값으로 평가될 수 있는 표현식)

if...else문

if (조건식) {
	// 조건식 참일시 실행
}
else if (조건식2) {
	// 조건식2가 참일시 실행
}
else {
	// 조건식 거짓일시 실행
}

// + 블록문 안이 값을 결정하여 할당하는 거라면 한줄의 삼항 조건 연산자로 바꿔쓸수도
var kind = num ? (num > 0 ? '양수' : '음수') : '영';

switch문

switch(표현식) {
	case 표현식1:
    	~~
        break;
	default:
    	~~
        break;
}

switch문을 탈출하지 않고 switch문이 끝날때가지 모든 case와 default를 실행하는 폴스루가 일어날 수 있으므로 각 case마다 코드블록에서 탈출할 수 있는 break를 쓰는 것 잊지말기! (default문에서는 break를 생략하는게 일반적)

if-else문은 논리적 참, 거짓으로 실행할 코드 블록을 결정하지만 switch문은 다양한 상황(case)에 따라 실행할 코드 블록을 결정할 때 사용한다

반복문

  • 조건식이 거짓일 때까지 조건식을 평가하여 평가 결과가 참인 경우 코드 블록을 실행

for문

for (변수선언 또는 할당; 조건식; 증감식) {
	// 참인 경우 실행할 문
}

while문

while (조건식) {
	// 참인 경우 실행할 문
}

for문은 반복 횟수가 명확할 때 사용하고, while문은 반복 횟수가 불명확할 때 사용한다

do while문

  • 코드 블록을 먼저 실행하고 조건식을 평가하므로 코드 블록은 무조건 한 번 이상 실행됨
do {
	~~
} while (조건식)

break

  • 코드 블록(반복문, 레이블문, switch문)을 탈출 (그외에서 사용시 오류)

레이블문이란?

foo : { // 이런게 레이블 문
	console.log("hi");
    break foo;
    console.log("no");
}
// 하지만 중첩된 for문 외부로 탈출할 때 사용하는 것 외에는 권장하지 않음

continue

  • 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킴
  • if문에서 실행할 코드가 많을 때 사용
profile
이밀루의 도전

0개의 댓글