inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바스크립트 비기너: 튼튼한 기본 만들기

2. 프로퍼티 값 추출, for~in 문

선생님 프로퍼티열거 질문있습니다

297

안종규

작성한 질문수 6

2

var sports ={
	soccer:"축구",
	baseball:"야구"
};



for(var bb in sports){
	console.log(bb);
	console.log(sports.bb);
};

제가 이렇게했는데 

soccer

undefined

baseball

undefined

값이 이렇게 나오더라구요.. 

프로퍼티 값을 뽑을떄 sports[키값] 또는 sprots.키값

이거로 알고있는데 sprots.키값은 왜 값이 다른지 알고싶습니다.

javascript oop

답변 4

5

김영보

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"로 프로퍼티 값을 구합니다.

0

안종규

감사합니다

1

정재윤

선생님 답변보고 질문이 생겨서 여쭤봅니다.

"한편, for (var bb in sports){ }에서

      bb가 프로퍼티 이름으로 sports 오브젝트에 존재하지 않습니다." 

위 대목을 보면

보통 변수를 생성하면 메모리에 할당하는데,

bb에 soccer이 할당되는 것과 sports의 프로퍼티 이름인 soccer가 값은 같지만 다른 케이스로 보아야하는 것이 맞을까요

1

김영보

 맞습니다. [ ] 안에 작성한 변수의 값을 프로퍼티 이름으로 사용합니다.

var value = sports.soccer;
var value = sports["soccer"];

var name = "soccer";
var value = sports[name];

0

wjdgksak

선생님 답변글보고이해는했는데 [] 안에 넣는값이 보통 그럼 변수이름으로 들어오는값을 넣는건가요 ?

프론트엔드 부트캠프 가기 전, 짧은 감사 인사드립니다!

2

109

2

섹션10 3. Object 프리미티브 값 구하기에서 질문있습니다.

1

148

2

섹션3의 1강 연산자, 표현식 강의에서 표현식 질문이 있습니다.

0

140

2

섹션 1. 6번째 강의 질문입니다.

1

246

1

선생님 Objcet 질문 있습니다.

0

299

2

forEach문을 활용한 코딩시간 풀이

0

616

1

sort 코딩 시간 풀이

0

292

1

코딩 시간 풀이 올려봅니다.

0

229

1

인덱스 코딩시간 문제풀이

0

381

1

for문 코딩 시간 답제출

0

306

1

3:39 sort에 들어가서 one,two 파라미터질문입니다.

0

194

0

퀴즈 질문 및 정답

0

356

1

오브젝트

0

283

1

인스턴스 목적

1

239

1

[코딩시간 01] 3항 연산자로 작성했을 때, 각 값..?

0

269

1

Undefined === Null; // true???

0

194

1

indexOf의 파라미터에 음수를 작성 했을때에 대한 질문입니다.

0

1031

5

length 값 변환 논리에 대한 질문입니다.

0

211

1

상수 변수 선언에 대해

0

235

1

코딩 시간 (for문) 풀이

0

255

1

Object vs object

1

498

1

코딩 시간 풀이입니다.

0

195

1

log(add(1, 2, 3, 4));

0

177

1

코딩시간 답 제출

0

196

1