제어문
1. 블록문
{
var foo = 10;
}
: 0개 이상의 문을 중괄호로 묶은 것.
2. 조건문
: 불리언 값으로 평가될 수 있는 표현식 (if … else문 , switch 문)
if … else 문
: 단순한 값이면 상항연산자 사용하는 것이 좋음.
: 만약 if문의 조건식이 불리언 값이 아닌 값으로 평가되면 js 엔진에 의해 암묵적으로 불리언 값으로 강제 변환
switch문
: 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case문
: if … else 문은 논리적 참, 거짓으로 실행할 코드블록을 결정한다면
switch문은 다양한 상환(case)에 따라 실행할 코드블록을 결정할 때 사용.
var month = 11;
var monthName;
switch(month) {
case 1: monthName = 'january';
case 2: monthName = 'fabruary';
...
}
3. 반복문
for문
while문
조건식의 평가결과가 참이면 코드 블록을 계속 반복
for문은 반복횟수가 명확할 때, while문은 반복횟수가 불명확할 때 사용.
var count = 0;
while (count < 3) {
console.log(count); // 0 1 2
count++;
}
do … while 문
: 코드 블록을 먼저 실행하고 조건식 평가.
따라서 코드 블록은 무조건 한 번 이상 실행됨
var count = 0;
do {
console.log(count); // 0 1 2
count++;
} while (count < 3);
4. break문<aside>
: 레이블문, 반복문, switch문의 코드 블록을 탈출
❓ 레이블문이란?
식별자가 붙은 문, 프로그램의 실행 순서를 제어하는 데 사용. 레이블문을 탈출하려면 break문에 레이블 식별자 지정. 레이블문은 for문 외부로 탈출할 때 유용하지만 그 밖에는 권장하지 않음.
outer: for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
// i + j === 3이면 outer라는 식별자가 붙은 레이블 for문을 탈출
if (i + j === 3 ) break outer;
console.log(`inner [${i}, ${j}]`);
}
}
console.log('done!');
5. continue문
var string = 'hello world.'
var search = 'l';
var count = 0;
for (var i = 0; i < string.length; i++) {
// string[i]가 l이 아니면 다음 반복으로 계속 진행하고 l이면 count++
if (string[i] !==search) continue;
count++;
}
console.log(count); //3
: 반복문의 코드 블록을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름 이동
** 내용을 블로그에 옮기기가 힘들어서 다음부터는 노션으로만 정리하려 한다... 공부 열심히 해서 후기로 찾아와야지..
'언어 > JavaScript' 카테고리의 다른 글
[input range] 커스텀 (0) | 2024.06.25 |
---|---|
input range 커스텀 (0) | 2024.06.24 |
[자바스크립트 딥다이브] 7장 연산자 (0) | 2024.04.01 |
[자바스크립트 딥다이브] 5장 표현식과 문, 6장 데이터 타입 (1) | 2024.03.29 |
[자바스크립트 딥다이브] 4장 변수 (0) | 2024.03.26 |