• contral flow statement : 조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용

5.1 블록문

  • block statement/compound statement : 0개 이상의 문을 중괄호로 묶은 것, 코드 블록 또는 블록이라고 부름
  • 블록문을 하나의 실행 단위로 취급
  • 단독으로 사용할 수도 있지만 일반적으로 제어문이나 함수를 정의할 때 사용
  • 자체 종결성을 갖기 때문에 블록문의 끝에는 세미콜론 붙이지 않음
// 블록문
{
  var foo = 10;
}
// 제어문
var x = 1;
if (x < 10) {
  x++;
}
// 함수 선언문
function sum(a,b) {
  return a + b;
}

5.2 조건문

  • conditional statement : 주어진 조건식의 평가 결과에 따라 코드블록의 실행을 결정
  • 불리언 값으로 평가될 수 있는 표현식
  • if ... else 문, swich 문 제공

5.2.1 if ... else 문

  • 주어진 조건식의 평가결과 (논리적 참 또는 거짓)에 따라 실행할 코드 블록을 결정
  • 불리언 값이 아닌 값으로 평가되면 암묵적으로 불리언 값으로 강제 변환됨
  • true일 경우 if 문의 코드 블록, false일 경우 else 문의 코드 블록 실행
    (if 문과 else 문은 2번 이상 사용할 수 없고 else if 문은 여러 번 사용 가능)
  • 조건식을 추가해 코드 블록을 늘리고 싶으면 else if 문 사용
if (조건식) {
  // 조건식이 참이면 이 코드 블록 실행
} else {
  // 조건식이 거짓이면 이 코드 블록 실행
}
if (조건식1) {
  // 조건식1이 참이면 이 코드 블록 실행
} else if (조건식2) {
  // 조건식2가 참이면 이 코드 블록 실행
} else (조건식3) {
  // 조건식1과 2가 모두 거짓이면 이 코드 블록 실행
}

5.2.2 switch 문

  • 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 흐름 옮김
  • 상황을 의미하는 표현식을 지정하고 콜론으로 마침
switch (표현식) {
  case 표현식1:
    switch 문의 표현식과 표현식1이 일치하면 실행될 문;
    break;
  case 표현식2:
    switch 문의 표현식과 표현식2이 일치하면 실행될 문;
    break; 
  default:
    switch 문의 표현식과 일치하는 case 문이 없을 때 실행될 문;
}

5.3 반복문

  • loop statement : 평가 결과가 참인 경우 코드 블록 실행
  • 조건식을 다시 평가하여 여전히 참인 경우 코드블록 다시 실행 , 조건식이 거짓일 때까지 반복
  • for 문, while 문, do...while 문 제공

5.3.1 for문

  • 조건식이 거짓으로 평가될 때까지 코드 블록 반복 실행
  • for 문 내에 for 문을 중첩해 사용 가능 (중첩 for 문)
  • 반복 횟수가 명확할 때 주로 사용
for (변수 선언문 또는 할당문; 조건식; 증감식) {
  조건식이 참인 경우 반복 실행될 문;
}
for (var i = 0; i < 2; i++) {
  console.log(i);
}
0
1

5.3.2 while문

  • 주어진 조건식의 평과 결과가 참이면 코드 블록을 계속해서 반복 실행
  • 조건문의 평가 결과가 거짓이 되면 코드 블록을 실행하지 않고 종료
  • 반복 횟수가 불명확할 때 주로 사용
var count = 0;
// count가 3보다 작을 때까지 코드 블록을 계속 반복 실행
while (count < 3) {
  console.log(count); // 0 1 2
  count++;
}

5.3.3 do...while문

  • 코드 블록을 먼저 실행하고 조건식을 평가 (무조건 한 번 이상 실행)
var count = 0;
// count가 3보다 작을 때까지 코드 블록을 계속 반복 실행
do {
  console.log(count); // 0 1 2
  count++;
} while (count < 3);

5.4 break문

  • 코드 블록을 탈출
    반복문 (for, for ... in, for ... of, while, do ... while) 또는 switch 문의 코드 블록
  • 레이블 문, 반복문, switch 문의 코드 블록 외에 break 문을 사용하면 SyntaxError 발생
if (true) {
  break; // Uncaught SyntaxError: Illegal break statement
}
// foo라는 식별자가 붙은 레이블 블록문
foo: {
  console.log(1);
  break foo; // foo 레이블 블록문 탈출
  console.log(2);
}
console.log('Done');

5.5 continue문

  • 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킴, break 문처럼 반복문 탈출 안함
var string = 'Hello World';
var search = 'l';
var count = 0;
// 문자열은 유사 배열로 for 문으로 순회할 수 있음
for (var i = 0, i < string.length; i++) {
  // 'l' 이 아니면 현 지점에서 실행을 중단하고 반복문의 증감식으로 이동
  if (string[i] !== search) continue;
  count++; // continue 문이 실행되면 이 문은 실행되지 않음
}
console.log(count); // 3
profile
✧ 중요한건 꺾이지 않는 마음 🔥 ᕙ(•ө•)ᕤ 🔥

0개의 댓글

Powered by GraphCDN, the GraphQL CDN