• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

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

20.03.03 22:28 작성 조회수 119

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

감사합니다~