[JS] 제어문 - 조건문과 반복문

박시은·2023년 5월 25일
0

JavaScript

목록 보기
11/58
post-thumbnail

▶ 반복문

▽ 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 (조건 값) {
	case1:
		조건 값이 값1일 때 실행하고자 하는 실행문;
		break;
    
	case2:
		조건 값이 값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);
}
profile
블로그 이전했습니다!

0개의 댓글