
164
6장 객체
propertyIsEnumerable()
은
hasOwnProperty()
를 더 제한한 버전입니다. 이 메서드
는 지정된 프로퍼티가 자체 프로퍼티이며
열거 가능 속성이
true
일 때만
true
를 반
환합니다. 일부 내장 프로퍼티는 열거 불가입니다. 일반적인 자바스크립트 코드로
생성한 프로퍼티는 모두 열거 가능이며 14.1절에서 열거 가능 프로퍼티를 열거 불
가로 만드는 방법을 설명합니다.
let o
=
{ x: 1 };
o.propertyIsEnumerable("x") //
=
> true: o
에는
열거
가능
프로퍼티
x
가
있습니다
.
o.propertyIsEnumerable("toString") //
=
> false:
자체
프로퍼티가
아닙니다
.
Object.prototype.propertyIsEnumerable("toString") //
=
> false:
열거
불가입니다
.
in
연산자 대신 그냥 프로퍼티를 검색하고
!= =
을 써서
undefined
가 아님을 확인하
는 경우도 많습니다.
let o
=
{ x: 1 };
o.x !
==
undefined //
=
> true: o
에는
프로퍼티
x
가
있습니다
.
o.y !
==
undefined //
=
> false: o
에는
프로퍼티
y
가
없습니다
.
o.toString !
==
undefined ...