본문 바로가기
JavaScript

[JavaScript] 반복문(for)

by coding_su 2023. 4. 18.

📝반복문(for)

✏️for문

for문은 지정된 조건식이 true일 때, 코드 블록을 반복적으로 실행하는 반복문이다

주로 배열이나 리스트와 같은 데이터 구조에 접근할 때 사용

> 초기화: 반복문에서 사용할 변수를 초기화한다
> 조건식: 반복문이 실행될 조건을 설정. 이 조건이 true이면 코드 블록이 실행된다
> 증감식: 반복문이 실행된 후, 변수 값을 증가 또는 감소시키는 식

for (초기식; 조건식; 증감식) {
  // 반복 실행할 코드
}

// ex) 0부터 9까지의 숫자를 출력
for (let i = 0; i < 10; i++) {
    console.log(i);
}

 

✏️for in문

for in문은 객체의 프로퍼티를 반복하여 처리하는 데 사용되는 반복문이다

객체의 각 프로퍼티에 대한 처리를 하고 싶을 때 사용

변수는 반복문에서 현재 처리 중인 프로퍼티의 이름을 저장하는 변수이고 객체는 반복문에서 순회할 객체이다

for (변수 in 객체) {
  // 반복적으로 실행할 코드
}

// ex) person 객체의 프로퍼티를 for in문으로 반복하면서 각 프로퍼티의 이름과 값을 출력
const person = {
  name: 'Alice',
  age: 30,
  gender: 'female'
};

for (let prop in person) {
  console.log(prop + ': ' + person[prop]);
}

// 결과
name: Alice
age: 30
gender: female

 

for in문은 객체의 프로토타입 체인도 반복하므로

hasOwnProperty() 메소드를 사용하여 객체 자체에 정의된 프로퍼티만 처리할 수 있다

예를 들어, 위의 예시에서 person 객체가 Object.prototype 객체를 상속받는 경우, for in문으로 프로퍼티를 반복하면

hasOwnProperty() 메소드를 사용하지 않으면 Object.prototype의 프로퍼티도 출력된다

따라서 hasOwnProperty() 메소드를 사용하여 객체 자체에 정의된 프로퍼티만 처리하는 것이 좋다

const person = {
  name: 'Alice',
  age: 30,
  gender: 'female'
};

for (let prop in person) {
  if (person.hasOwnProperty(prop)) {
    console.log(prop + ': ' + person[prop]);
  }
}

'JavaScript' 카테고리의 다른 글

[JavaScript] 반복문(while)  (0) 2023.04.18
[JavaScript] 프로퍼티(property)란?  (0) 2023.04.18
[JavaScript] 조건문(switch)  (0) 2023.04.17
[JavaScript] 조건문(if)  (0) 2023.04.17
[JavaScript] 배열(Array)  (0) 2023.04.17

댓글