JavaScript에는 객체의 속성을 가로 지르는 세 가지 방법이 있습니다.
1. for/in. for/in 문을 사용하여 객체 자신의 속성 (자체 속성)을 가로 지르고 프로토 타입 객체에서 상속 된 속성을 통과 할 수 있습니다. 열거 가능한 속성 만 횡단됩니다.
2. Object.keys (). 오브젝트로 객체를 object.keys ()로 전달할 수 있으며 Object.keys () 문은 모든 속성 이름 문자열로 구성된 배열을 반환합니다. Object.keys () 명령문은 객체 자체의 (자체 속성) 및 열거 가능한 속성 만 반환합니다. 이 진술은 ECMAScript 5 표준에서만 유효합니다.
3. object.getownPropertyNames (). 오브젝트로 객체를 Object.GetOnPropertyNames ()로 전달할 수 있습니다. Object.keys ()와 마찬가지로이 문은 모든 속성 이름 문자열로 구성된 배열을 반환합니다. Object.keys ()와 달리 Object.GetOwnPropertyNames () 명령문은 열거 가능 여부에 관계없이 모든 개체의 자체 속성 (자체 속성)을 반환합니다. 이 진술은 ECMAScript 5 표준에서만 유효합니다.
위 정보를 기반으로 다음 그림은 다음과 같이 요약됩니다.
실험:
코드 사본은 다음과 같습니다.
var o = {x : 1, y : 2};
var a = object.create (o);
AZ = 3;
(p in a) {
Console.log (P);
} // zxy
Console.log (Object.keys (a)); // [ "z"]
console.log (Object.getOwpropertyNames (a)); // [ "z"]