21.03.20 15:44 작성
·
176
2
var sports ={
soccer:"축구",
baseball:"야구"
};
for(var bb in sports){
console.log(bb);
console.log(sports.bb);
};
제가 이렇게했는데
soccer
undefined
baseball
undefined
값이 이렇게 나오더라구요..
프로퍼티 값을 뽑을떄 sports[키값] 또는 sprots.키값
이거로 알고있는데 sprots.키값은 왜 값이 다른지 알고싶습니다.
답변 4
5
2021. 03. 20. 18:02
1. sports.soccer는 "축구"를 반환합니다.
이렇게 값을 구할 수 있는 것은
soccer가 프로퍼티 이름으로 sports 오브젝트에 있기 때문입니다.
2. 한편, for (var bb in sports){ }에서
bb가 프로퍼티 이름으로 sports 오브젝트에 존재하지 않습니다.
sports.bb 형태로 값을 구하는 것은 sports.soccer로 구하는 것과 같으므로
sports = {bb: "값"} 형태로 되어 있어야 합니다.
3. bb는 프로퍼티 이름이 아니라 값이 설정되는 변수 이름입니다.
4. console.log(sports[bb]) 형태로 값을 구하면
bb에 값으로 설정되는 "soccer"와 "baseball"로 프로퍼티 값을 구합니다.
1
2021. 05. 02. 13:53
맞습니다. [ ] 안에 작성한 변수의 값을 프로퍼티 이름으로 사용합니다.
var value = sports.soccer;
var value = sports["soccer"];
var name = "soccer";
var value = sports[name];
0
2021. 03. 21. 13:44
감사합니다