const game = {
team1: 'red',
team2: 'black',
};
// console.table(game);
console.table(game['team1']);
// console.log(game.team1);
for (const [team, odd] of Object.entries(game)) {
console.log(game[team]);
// console.log(team);
// console.log(game[team]);
// console.log(game.team);
// key값이 스트링이다. 스트링이기 때문에
}
핵심적으로 봐야했었던 부분은 객체의 속성 키가 문자열이냐. 아니냐. 이거였다.
지금 다시 생각해보면 정말 어이없는 막힘이었지만 다시는 잊을 수 없도록 해주고
기초가 부족한 부분들이 있다는걸 다시 깨우치게 해주는 좋은 경험이었다.
성심성의껏 댓글을 남겨주시는 온라인 선배님들이 있어서 너무 배우기 좋은 환경인 것 같다..
아래는 내가 이해했다고 생각했지만 잘못 이해했던 부분이다.
반성하기 위해서 기록을 남겨놓는다.
코드부터 보자.
const game = {
team1: 'red',
team2: 'black',
};
for (const [team, odd] of Object.entries(game)) {
console.log(`${game[team]}`);
}
이것을 이해하기 위해서 원초적인 개념부터 다시 생각했다.
계속 코드로 보자.
const game = {
team1: 'red',
team2: 'black',
};
for (const test of Object.entries(game)) {
console.log(test);
}
반환되는 값은 배열로
["team1", "red"]
["team2", "black"]
이 나왔다.
이것을 그대로 [team, odd]에 넣었다고 가정을 하면
console.log(`${game[team]}`)이 이해가 된다.
나중에 봤을 때 또 이해가 안간다면 아래를 더보자.
const test = ['team3', 'yellow'];
console.log(test[0]);
배열을 불러올 때 배열이름[인덱스번호] 이런식으로 작성한다.
그러니까 위 game 객체를 봤을 때
외부에서는 game.team1 이런식으로 불러오는 것이 맞지만
for-of문 안에서는 배열로 할당받은 [team]이
[team1]
[team2]
이렇게 배열을 가지고 있기 때문에
game[team]이 맞다.
'Stack & Tool > Node.js' 카테고리의 다른 글
Promise에 대해서 (0) | 2021.04.14 |
---|---|
innerHTML vs innerText vs textContent (0) | 2021.03.18 |
javascript in udemy #17 ~ #24 (0) | 2021.02.22 |
javascript in udemy #12 ~ #16 (0) | 2021.02.20 |
udemy에서 javascript 1위 강좌를 보기 시작. (0) | 2021.02.20 |
댓글