나만보는개발공부블로그

For ... in 과 For ... of 반복문 본문

Javascript&Typescript

For ... in 과 For ... of 반복문

alexrider94 2023. 9. 13. 12:38

for ... in

객체의 열거 가능한 속성을 반복하는데 사용됩니다.

  • 객체의 프로퍼티를 열거하며 프로퍼티의 이름 또는 키를 반환합니다.
  • 객체의 프로토타입 체인까지 열거할 수 있다고 합니다.
    • Object.prototype.customObj = function() {}
  • 배열에도 사용할 수 있지만, 배열의 인덱스가 아닌 배열 요소의 키를 반환합니다.
Object.prototype.customFn = function() {};
const obj = { a: 1, b: 2, c: 3 };

for (const key in obj) {
  console.log(key); // "a", "b", "c", "customFn" 출력
}

const arr = [1, 2, 3];

for (const index in arr) {
  console.log(index); // "0", "1", "2", "customFn" 출력
}

for ... of

배열과 같은 iterable 객체를 반복하는데 사용됩니다.

  • 배열의 요소 값을 반환하므로 반복 과정이 간단하고 직관적입니다.
  • 객체의 프로퍼티를 열거할 때는 사용할 수 없습니다
const arr = [1, 2, 3];
for (const element of arr) {
  console.log(element); // 1, 2, 3 출력
}

const obj = { a: 1, b: 2, c: 3 };
for (const value of obj) {
  // 에러 발생: obj는 iterable이 아님
}

'Javascript&Typescript' 카테고리의 다른 글

How to use map or forEach ES6 with async and await.  (0) 2022.09.17
함수형 컴포넌트의 제너릭 타입 설정.  (0) 2021.12.04
Splice()  (0) 2021.06.17
Shallow Copy & deep Copy  (0) 2021.03.23
Hoisting  (0) 2021.03.04