해당 포스팅은 위키북스의 "모던 자바스크립트 Deep Dive"라는 책을 독학하며 기록하는 글입니다.

블록문

0개 이상의 문을 중괄호로 묶은 것으로, 코드 블록 또는 블록이라고 부른다.
문의 끝에는 ;을 붙이는게 일반적이지만, 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문의 끝에는 ;을 붙히지 않는다.


조건문

조건문은 주어진 조건식의 평가 결과에 따라 코드 블록의 실행을 결정한다. 이때, 조건식은 불리언 값으로 평가될 수 있는 표현식이여야 한다. 조건식의 종류에는 다음 두 가지가 있다.

  1. if ... else 문
  2. switch 문

if ... else 문의 사용법은 다음과 같다.

if(조건식) {
	//조건식이 true일 때 실행될 문들
} else {
   	//조건식이 false일 때 실행될 문들
}

이 경우는 조건이 하나인 경우에 사용하는 것이고, 만약 조건이 여러 개라면 else if를 사용해서 표현할 수 있다.

if(조건식1) {
	//조건식1이 true일 때 실행될 문들
} else if(조건식2) {
   	//조건식1은 false이지만 조건식2가 true일 때 실행될 문들
} else {
	//조건식1과 조건식2 모두 false일 때 실행될 문들
}

또한 else if의 개수는 마음대로 조절할 수 있다.

switch문의 사용법은 다음과 같다.

switch(표현식) {
  case 값1:
    //표현식을 평가한 값이 값1과 같을 때 실행될 문들
    break;
  case 값2:
    //표현식을 평가한 값이 값2과 같을 때 실행될 문들
    break;
  case 값3:
    //표현식을 평가한 값이 값4과 같을 때 실행될 문들
    break;
  default:
    //표현식을 평가한 값이 해당 case중에 없을 때 실행될 문들
}

if ... else 문은 논리적 참, 거짓으로 실행할 코드 블록을 결정하고 switch 문은 다양한 상황에 따라 실행할 코드 블록을 결정할 때 사용한다.
또한 break문이 없다면 default case나 그 다음 break를 만날 때까지 다음 case의 문들을 모두 실행하므로 각 case에 대해서는 break를 달아주도록 하자.
또는 여러 case에 대해서 같은 문들을 실행하고 싶을 때는 의도적으로 break를 생략하는 경우도 있는데, 이를 폴스루라고 한다.


반복문

반복문은 조건식을 평가하여 값이 true인 경우에만 코드 블록를 실행하며, 실행 후 다시 조건식을 평가하여 false가 나올 때까지 해당 과정을 반복한다.

  1. for문
  2. while문
  3. do ... while문

for문의 사용법은 다음과 같다.

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

for(var i = 0; i < 5; i++) {
  console.log(i);
}
//콘솔창에 0, 1, 2, 3, 4가 출력된다.

while문의 사용법은 다음과 같다.

while(조건식) {
	//조건식이 true인 경우 실행될 문들
}

var i = 0;
while(i < 3) {
  console.log(i);
  i++;
}
//콘솔창에 0, 1, 2가 출력된다.

while문의 경우 증감식, 또는 if문과 break문을 함께 써서 일정 조건을 만족하면 while문을 탈출할 수 있게 해줘야 한다.

do ... while문의 사용법은 다음과 같다.

do {
	//실행될 문들
} while(조건식)

var i = 0;
do {
  console.log(i);
  i++;
} while(i < 3);
//콘솔창에 0, 1, 2가 출력된다.

처음 한 번은 무조건 코드 블록이 실행된다는 점이 while문과의 차이이다.


break문과 continue문

break문은 해당 코드 블록을 탈출한다. 정확히 말하면 레이블문, 반복문, switch문의 코드 블록을 탈출한다.

여기서 레이블문이란 식별자가 붙은 문들을 의미하며 switch문의 각 case들도 사실은 레이블문이다.

레이블명(또는 식별자명): for(var i = 0; i < 5; i++) {
	//조건식이 true일 때 실행될 문들
}
//이 경우 for문에 레이블명을 붙힌 것이다.

break문을 사용할 때 단독으로 사용하면 해당 코드 블록을 탈출하지만, 레이블과 같이 사용하면 해당 레이블명을 가진 코드 블록을 탈출하게 된다.

예를 들어 이중 for문에서 break를 하면 첫 번째 for문으로 나가게 되지만, 첫 번째 for문에 레이블명을 부여하고 break 레이블명을 하게 되면 전체 for문 밖으로 탈출하게 된다.

continue문의 경우 진행 중인 코드 블록의 실행을 멈추고, 바로 증감식으로 이동한다.

for(var i = 0; i < 10; i++) {
  if(i % 2) continue;
  console.log(i);
}
//콘솔창에 0, 2, 4, 6, 8가 출력된다.
//이유: 홀수인 경우에는 continue가 실행되어 그 다음 문인
//console.log(i)를 실행하지 않고 증감식으로 이동하기 때문
profile
I Will be Relaxed Person

0개의 댓글