(JavaScript) 5. 제어 명령

제어문은 코드 블록을 조건부(조건문) 또는 반복적으로(반복문) 실행하는 데 사용됩니다.

01. 블록도어

중괄호 안의 0개 이상의 문

블록 문은 항상 자체 종료되며 이는 문이 종료됨을 의미합니다.

따라서 블록 문 끝에 세미콜론을 추가하지 마십시오.


02. 조건문

주어진 조건식의 평가 결과에 따라 코드 블록(블록 명령)의 실행이 결정됩니다.


조건식은 부울 값으로 평가되는 식입니다.

1) if … else 문

예제 코드

if (조건식) {
	// 조건식이 참이면 이 코드 블록이 실행된다.

} else { // 조건식이 거짓이면 이 코드 블록이 실행된다.

}

if 문의 조건식은 부울 값으로 평가되어야 합니다.

예제 코드

if (조건식1) {
	// 조건식1이 참이면 이 코드 블록이 실행된다.

} else if (조건식2) { // 조건식2가 참이면 이 코드 블록이 실행된다.

} else if (조건식3) { // 조건식3이 참이면 이 코드 블록이 실행된다.

} else { // 조건식1, 조건식2, 조건식3이 모두 거짓이면 이 코드 블록이 실행된다.

}

if…else 문은 삼항 조건 연산자로 대체할 수 있습니다.

예제 코드

// x가 짝수이면 result 변수에 문자열 '짝수'를 할당하고, 홀수이면 문자열 '홀수'를 할당한다.

var x = 2; var result; if (x % 2) { // 2 % 2는 0이다.

이때 0은 false로 암묵적 강제 변환된다.

result="홀수"; } else { result="짝수"; } console.log(result); // 짝수

위의 예제는 삼항 조건 연산자를 사용하여 다음과 같이 다시 작성할 수 있습니다.

예제 코드

var x = 2;

// 0은 false로 취급한다.

var result = x % 2 ? '홀수' : '짝수'; console.log(result); // 짝수

2) 스위치 문

  • switch 문: 주어진 식을 평가하고 값이 식과 일치하는 case 문으로 실행 흐름을 이동합니다.

  • case 문: 상황을 나타내는 식을 지정하고 콜론으로 끝납니다.

    그런 다음 실행할 문을 배치합니다.

예제 코드

switch (표현식) {
	case 표현식1:
    	switch 문의 표현식과 표현식1이 일치하면 실행될 문;
        break;
    case 표현식2:
    	switch 문의 표현식과 표현식2가 일치하면 실행될 문;
      	break;
    default;
    	switch 문의 표현식과 일치하는 case 문이 없을 때 실행될 문;
}

Switch 문은 부울 값 대신 문자열이나 숫자 값으로 평가되는 경우가 많습니다.

논리적으로 참 또는 거짓이 아니라 다른 경우에 따라 실행할 코드 블록을 결정하는 데 사용됩니다.

실패

switch 문 식의 평가 결과와 일치하는 case 문으로 실행 흐름을 이동하여 문을 실행한 후,
switch 문을 이스케이프 처리하지 않고 switch 문이 끝날 때까지 모든 후속 case 및 default 문을 실행합니다.

이 문제를 피하기 위해 break 문을 사용합니다.

(기본문에서는 break문을 생략하는 것이 일반적입니다.

)

(경우에 따라 break 문을 생략하는 폴스루가 유용할 수 있습니다.

)

if…else 문으로 해결할 수 있다면 switch 문 대신 if…else 문을 사용하는 것이 좋습니다.

그러나 조건이 너무 많고 switch 문을 사용하는 것이 더 읽기 쉬운 경우에는 switch 문을 사용하는 것이 좋습니다!


03. 반복문

조건식이 참이면 코드 블록을 실행한 다음 조건식을 다시 평가하고 조건식이 여전히 참이면 코드 블록을 다시 실행합니다.

조건식이 거짓이 될 때까지 반복합니다.

1) 설명을 위해

예제 코드

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

구체적인 예를 살펴보겠습니다.

예제 코드

for (var i = 0; i < 2; i++) {
	console.log(i);
}
0
1

2) while 문

  • for 문은 주로 반복 횟수가 명확한 경우에 사용됩니다.

  • while 문은 반복 횟수가 불확실할 때 주로 사용됩니다.

예제 코드

var count = 0;

// count가 3보다 작을 때까지 코드 블록을 계속 반복 실행한다.

while (count < 3) { console.log(count); // 0 1 2 count++; }

무한 루프 탈출

코드 블록 내에서 if 문으로 이스케이프 조건을 만들고 break 문으로 코드 블록을 이스케이프합니다.

예제 코드

var count = 0;

// 무한루프
while (true) {
	console.log(count);
    count++;
    // count가 3이면 코드 블록을 탈출한다.

if (count === 3) break; } // 0 1 2

3) do … while 문

코드 블록이 먼저 실행되고 조건식이 평가됩니다.

예제 코드

var count = 0;

// count가 3보다 작을 때까지 코드 블록을 계속 반복 실행한다.

do { console.log(count); // 0 1 2 count++; } while (count < 3);


04. 설명 일시정지

레이블 문, 루프 문 또는 switch 문의 코드 블록을 이스케이프합니다.


05. 계속 진술

루프 문의 코드 블록의 실행은 현재 위치에서 멈추고 실행 흐름은 루프 문의 증가/감소 방식으로 이동합니다.

break 문과 다른 이스케이프 루프!

참조


https://www.inflearn.com/course/%EB%AA%A8%EB%8D%98-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC% EB%A6%BD%ED%8A%B8-%EB%94%A5%EB%8B%A4%EC%9D%B4%EB%B8%8C/대시보드

(무료) 최신 JavaScript에 대한 심층 연구 – Infron | 강의

책 《Modern JavaScript Deep Dive》의 내용을 바탕으로 한 튜토리얼 영상입니다.

같이 공부하면 훨씬 수월해요!
, – 강의 소개 | 하부 구조

www.inflearn.com