조건문
if문
- if(...) {...} 형식으로 작성한다.
- (...) 안의 내용이 true일 경우 코드 블록이 실행된다.
- 실행할 코드가 한 줄일 경우 중괄호 생략 가능
let year = 2023;
if(year == 2023) console.log("2023년 입니다.");
if(0 || -0 || 0n || "" || null || undefined || NaN) {
console.log("조건문 내의 값들은 모두 false로 변환됩니다.");
console.log("이렇게 불린 문맥에서 false로 평가되는 값을 falsy한 값이라고 합니다.");
}
if(1 || 100 || "0" || new Date() || -3.14 || Infinity || []) {
console.log("조건문 내의 값들은 모두 true로 변환됩니다.");
console.log("이렇게 불린 문맥에서 true로 평가되는 값을 truthy한 값이라고 합니다.");
}
- else if / else 문
- if문에는 else문을 붙일 수 있다.
- else문과 이어진 코드 블록은 if문의 조건이 false일 때 실행된다.
- 여러 개의 조건을 처리하고 싶을 때에는 else if문을 사용하면 된다.
let age = 30;
if(age < 20)
console.log("age는 20보다 작습니다.");
else if(age > 30)
console.log("age는 30보다 큽니다.");
else
console.log("모르겠어요..");
조건부 연산자 '?'
- 조건에 따라 값을 변수에 할당할 수 있게 해주는 연산자
- 피연산자가 3개이기 때문에 '삼항(ternary) 연산자'라고도 한다.
let money = 10000;
let isExpensive;
if(money > 9000)
isExpensive = true;
else
isExpensive = false;
위의 코드를 아래의 코드로 바꿀 수 있다.
let money = 10000;
let isExpensive = money > 9000 ? true : false;
switch문
- 복수의 if문은 switch문으로 변형 가능
- 키워드: switch, case, default, break
- switch의 값과 case의 값이 자료형까지 모두 일치해야 case가 실행된다.
let answer = 10;
switch(answer) {
case 1:
console.log("1은 정답이 아닙니다.");
break;
case 10:
console.log("10은 정답입니다!~");
break;
default:
console.log("모르는 값입니다.");
}
- 위 코드를 실행하면 case 10인 경우가 실행된다.
break; 가 없을 경우에는 case 1, case 10, default가 모두 실행된다. - case들이 동일한 결과를 내놓을 경우 case들을 하나로 묶을 수 있다.
let arg = "2";
switch (arg) {
case "0":
case "1":
console.log("0 or 1");
break;
case 2:
console.log("실행될 수 없는 case");
break;
default:
console.log("몰라요~");
}
반복문
- 동일한 코드를 반복해서 실행시키기 위해 사용
- 반복문의 body({...})에 실행할 코드 작성
while문
let i = 0;
while(i < 10) {
console.log(i++);
}
// 0
// 1
// ...
// 9
- while의 조건(condition)이 truthy이면 계속 반복, falsy일 경우 반복 종료
do-while문
let i = 0;
do {
console.log(i++);
} while(i < 3);
// 0
// 1
// 2
- while의 조건과는 상관없이 body의 내용을 무조건 한 번 실행시키고 반복 시작
for문
for(begin; condition; step) {
// 반복할 내용
}
for(let i=0;i<3;i++) {
console.log(i);
}
//0 1 2 출력
let i=0;
for(; i<3; ) {
console.log(i++);
}
//0 1 2 출력
for(;;) {}
// 무한 반복
- begin 실행
- condition이 truthy이면,
- body 실행 후 step 실행
- condition이 falsy이면,
- body 실행하지 않고 반복 종료
- condition이 truthy이면,
break/continue
break
- 반복문의 조건이 falsy이기 전에 반복문을 탈출하고 싶을 경우 사용
continue
- 현재 실행중인 반복(iteration)을 멈추고 다음 반복을 실행시킬 때 사용
for (let i=1;i<10;i++) {
if(i % 2 == 0) continue;
if(i == 7) break;
console.log(i);
}
// 1 3 5 출력
참고
모던 JavaScript 튜토리얼
ko.javascript.info
'📜JavaScript' 카테고리의 다른 글
JavaScript 찍먹하기 - (5) 객체 (0) | 2023.04.28 |
---|---|
JavaScript 찍먹하기 - (4) 함수 (1) | 2023.04.27 |
JavaScript 찍먹하기 - (3) 배열 (0) | 2023.04.26 |
JavaScript 찍먹하기 - (1) 변수, 자료형, 연산자 등 (0) | 2023.04.24 |