해결된 질문
작성
·
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