• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

name이 뭐죠

21.01.19 21:16 작성 조회수 106

0

o1={val1:1,val2:2,val3:3}

o2={v1:10,v2:50,v3:100,v4:25}

function sum(){

    var _sum=0;

    for(name in this){

        _sum +=this[name];

    }

    return _sum;

}

alert(sum.apply(o1)); 

alert(sum.apply(o2));

this 가 뭔지 이해는 되는데 ,여기서 name은 뭔가요? 혹시 o1,o2 객체의 키값?을 말하는 건가요

답변 1

답변을 작성해보세요.

0

드로우님의 프로필

드로우

2021.01.19

const o1 = {
  val1: 1,
  val2: 2,
  val3: 3
}

for (const name in o1) {
  console.log(o1[name]);  // val1, val2, val3
}

for ... in 문에서 앞에 선언부는 name으로 하든 value로 써놓든
개발하시는 분 마음이고 객체에서 문자열로 키가 지정된 모든 열거 가능한 속성에 대해 반복해줍니다.
for ... in 문에서 in this 라고 this에서 반복한다고 선언했기 때문에 this가
가르키는 객체에서 키값을 불러오고 있는겁니다.