[JS] 제어문(조건문, 반복문)
▶ 반복문
▽ for
for (초기식; 조건식; 증감식) { 반복적으로 실행할 코드 }
for (let i = 0; i < 5; i++) {
console.log(`반복결과를 출력합니다: ${i}`);
}
▷ for in
객체의 속성을 하나씩 돌아가면서 알아보는 방법이다. (객체의 속성 순회)
-
임의의 순서로 객체의 속성들에 대해 반복한다. (⚠️단, 임의의 순서로 반복하기 때문에 인덱스의 순서가 중요한
Array
에서 반복을 위해 사용할 수 없다.) -
👧🏻왜 사용하는가? 객체의 속성을 알아내기 위해 사용한다. 즉, 특정 값을 가진 키가 있는지 확인하려는 경우 주로 사용하는 것이다.
const school = {
school_name: "인삼대학교",
student_number: "3000명",
};
for (const key in school) {
console.log(`${key}의 속성값은 ${school[key]} 입니다.`);
}
- 아래와 같이 배열과 함께 사용할 수 있다.
const ages = [30, 12, 232];
ages.forEach((e) => {
if (e < 20) {
console.log("청소년");
} else {
console.log("성인");
}
});
▷ for of
리스트 또는 배열 같은 것을 순서대로 살펴보는 방법이다. (배열(리스트)의 요소를 순회)
- 👧🏻왜 사용하는가? 배열의 요소들을 알아낼 때 사용한다.
const color = ["red", "pink"];
for (const key of color) {
console.log(`색깔: ${key}`);
}
▷ forEach
배열(리스트)의 각 요소에 대해 지정한 작업(함수)을 실행하는데 사용되는 메서드이다. 즉, 배열을 하나씩 빼고싶을 때 사용
const color = ["red", "pink"];
color.forEach(function (key) {
console.log(`내가 좋아하는 색깔은 ${key}입니다!`);
});
▽ while
while문은 for문과 다르게 반복횟수를 정할 수 없다. → 몇 번 반복될 지 모를 때 주로 사용한다.
while (조건) { 내용 }
let i = 0;
while (i < 5) {
i++;
console.log(`반복결과를 출력합니다: ${i}`);
}
질문3) 1부터 출력하는 이유를 모르겠다.
▷ do while
내용을 먼저 실행 한 후 조건과 비교한다. (while은 조건 먼저 실행 후 내용 비교)
let i = 0;
do {
console.log(`출력결과: ${i}`);
i++;
} while (i < 5);
▶ 조건문
▽ if 문
표현식의 결과가 참이면 주어진 실행문을 실행하며, 거짓이면 아무것도 실행하지 않는다.
문법
if(조건식) {
조건식의 결과가 참일 때 실행하고자 하는 실행문;
}
예제
let a = 2,
b = 3;
if (a < b) {
console.log("b가 a보다 큽니다."); // 'b가 a보다 큽니다' 출력
}
▷ if / else 문
조건식의 평가 결과가 true일 경우 if문의 코드 블록이 실행되고, flase일 경우 else문의 코드 블록이 실행된다.
문법
if (조건식) {
조건식의 결과가 참일 때 실행하고자 하는 실행문;
} else {
조건식의 결과가 거짓일 때 실행하고자 하는 실행문;
}
예제
let a = 2,
b = 3;
if (a == b) {
console.log("a와 b의 값이 같습니다.");
} else {
console.log("a와 b의 값이 다릅니다.");
}
▷ 삼항연산자와 조건문
if...else
문은 삼항 연산자로 바꿔 쓸 수 있다.
아래 조건문과 삼항 연산자는 같은 코드이다.
let a = 5;
let b = 7;
if (a > b) {
console.log(true);
} else {
console.log(false); //false
}
let a = 5;
let b = 7;
const value = a > b ? true : false;
console.log(value); // false
▷ switch
if...else
문과 마찬가지로 주어진 조건 값에 따라 프로그램이 다른 명령을 수행하도록 하는 조건문이다.
문법
switch (조건 값) {
case 값1:
조건 값이 값1일 때 실행하고자 하는 실행문;
break;
case 값2:
조건 값이 값2일 때 실행하고자 하는 실행문;
break;
...
default:
조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 실행문;
break;
}
예제
let value = 1;
switch (typeof value) {
case "number":
console.log(`value의 타입은 number 입니다.`);
break;
case "string":
console.log(`value의 타입은 string 입니다.`);
break;
default:
console.log(`value의 타입을 잘 모르겠어요`);
}
▶ 기타 제어문
▷ break문과 continue문
break
문을 만나면 for문을 멈춘다.
- 즉, 그 자리에서 끝내버린다.
for (let i = 1; i <= 10; i++) {
if (i == 5) {
break;
}
console.log(i); // 1, 2, 3, 4 출력
}
continue
를 사용하면 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킨다. (break 문처럼 반복문을 탈출시키지는 않는다.)
- 즉, 다음 순서로 넘어간다.
아래 코드는 홀수값만 출력되는 코드이다. (i가 홀수이면 continue)
for (let i = 1; i <= 10; i++) {
if (i == 5) {
continue;
}
console.log(i);
}
댓글남기기