for ... in

JUN·2021년 1월 31일
0
post-custom-banner


for...in문은 상속된 열거 가능한 속성들을 포함하여 객체에서 문자열로 키가 지정된 모든 열거 가능한 속성에 대해 반복합니다.

문법 : for (variable in object) { ... } 
  • 매개변수
    variable
    매번 반복마다 다른 속성이름(Value name)이 변수(variable)로 지정됩니다.
    object
    반복작업을 수행할 객체로 열거형 속성을 가지고 있는 객체.

왜 for...in을 사용합니까?

for...in이 객체의 반복을 위해 만들어졌지만, 배열의 반복을 위해서는 추천되지 않고, Array.prototype.forEach(), for...of가 이미 존재합니다. 그러면 for...in은 어떻게 사용하는 것이 좋을까요?

이것은 쉽게 객체의 속성을 확인(콘솔이나 다른 방법으로 출력)할 수 있기 때문에 실질적으로 디버깅을 위해 사용될 수 있습니다. 배열이 데이터의 저장에 있어서는 더 실용적이지만, 키-값 쌍이 선호되는 데이터의 경우(속성이 "key"의 역할을 함) 특정 값을 가진 키가 있는지 확인하려는 경우에 for...in을 사용할 수 있습니다.

예제(for...in의 사용)

아래의 예는 열거 가능한 non-Symbol속성들을 반복해서 속성의 이름과 그 값을 기록합니다.

var obj = {a: 1, b: 2, c: 3};

for (const prop in obj) {
console.log(obj.${prop} = ${obj[prop]});
}

// Output:
// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"

<정리>
for...in 반복문은 정수가 아닌 이름을 가진 속성, 상속된 모든 열거 가능한 속성들을 반환한다.
for...in 구문은 객체의 key 값에 접근할 수 있지만, value 값에 접근하는 방법은 제공하지 않는다.
for...in 구문은 객체의 key 값에 접근해서 리턴할수 있게 하는 구문으로 알고 넘어가면 될꺼 같다.


*참조- MDN

profile
Developer
post-custom-banner

0개의 댓글