if...else
, switch
if(조건식) {
// 조건식이 true면 여기가 실행
} else{
// 조건식이 false면 여기가 실행
}
const x = 2;
let result;
if(x%2) result = '홀수';
switch (표현식) {
case 표현식1:
// switch문의 표현식과 표현식1이 일치하면 실행될 문;
break;
case 표현식2:
// switch문의 표현식과 표현식2가 일치하면 실행될 문
break;
default:
// 일치하는 케이스가 없을 때 실행될 문
}
switch 문에서 주의할 점은 case문을 실행한 후 탈출하지 않고 모든 case문과 default문을 실행한다. 그렇기 때문에 break로 코드블록을 탈출하거나 return으로 탈출해야한다.
이걸 이용하면 아래와 같이 쓸 수 있다.switch (표현식) { case 표현식1: case 표현식2: // switch문의 표현식과 표현식1 또는 표현식2가 일치하면 실행될 문; break; case 표현식3: // switch문의 표현식과 표현식3이 일치하면 실행될 문 break; default: // 일치하는 케이스가 없을 때 실행될 문 }
for
, while
, do...while
for (변수 선언문 또는 할당문; 조건식; 증감식) {
조건식이 참인 경우 반복 실행될 문;
}
for (let i=0; i<10; i++){
console.log(i) // 0,1,2,3,4,5,6,7,8,9
}
for (;;) { ... } // 무한루프
let count = 0;
while (count < 3) {
console.log(count); // 0 1 2
count++;
}
while (true) { ... } // 무한루프
무한루프에서 탈출하려면 break를 사용하면 탈출할 수 있다.
let count = 0;
do {
console.log(count); // 0 1 2
count++;
} while (count < 3);
do문은 tc39에서 stage 1단꼐에 있어서 do문만 따로 사용할 날이 올지도 모른다
https://github.com/tc39/proposal-do-expressions?tab=readme-ov-file
foo: console.log('foo');
foo: {
console.log(1);
break foo;
console.log(2);
}
outer: for (let i=0; i < 3; i++){
for (let j=0; j<3; j++){
if (i+j === 3) break outer;
console.log(i,j)
}
}