인프런 커뮤니티 질문&답변

대동소이님의 프로필 이미지
대동소이

작성한 질문수

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

for~in문과 빌트인 오브젝트

해결된 질문

작성

·

166

0

안녕하세요.. 영상 강의 잘 보고 있습니다.

다름이 아니라, for~in문을 사용해서 빌트인 오브젝트를 console.log로 뿌려보고 싶어서요

한번 해봤는데, undefined가 출력이 되네요.. 

for (var item in Number){

    console.log(item);

}

라고 사용 해봤는데, 출력 되긴 커녕 undefined가 출력 되더군요.

Object와 빌트인 오브젝트가 다른 건가요? 

다르다면 어떻게 다른건가요?

답변 2

1

김영보님의 프로필 이미지
김영보
지식공유자

for-in 문은 열거 가능한  프로퍼티만 열거할 수 있습니다. 

Array, Number와 같은 빌트인 오브젝트는 열거 불가 상태이므로 열거할 수 없습니다.

[[Enumerable]] 속성 값이 true이면 열거할 수 있고, false이면 열거할 수 없습니다.

var obj = {point: 123};으로 만든 obj는 열거 가능하기 때문에 열거할 수 있습니다.

{point: 123} 형태로 작성하면 [[Enumerable]] 속성 값이 true로 설정됩니다

 Object.defineProperty() 함수로 프로퍼티를 정의할 때  [[Enumerable]]  속성의 디폴트 값은 false입니다.

0

대동소이님의 프로필 이미지
대동소이
질문자

감사합니다~

대동소이님의 프로필 이미지
대동소이

작성한 질문수

질문하기