JS 상용 방법 정리 - 대상 옮 겨 다 니 기

2847 단어
1. 프로필
JS 에 서 는 대상 의 속성 을 옮 겨 다 녀 야 합 니 다. 다음은 JS 가 대상 속성 을 옮 겨 다 니 는 몇 가지 방법 을 정리 해 보 겠 습 니 다.
2. for...in...
for... in... 순환 은 대상 자체 와 계승 할 수 있 는 매 거 진 속성 을 옮 겨 다 닙 니 다 (Symbol 속성 은 포함 되 지 않 습 니 다).
// demo2
function SuperType() {
    this.superVal = 'super';
};
SuperType.prototype.saySuperVal = function () {
    console.log(this.superVal);
};

function SubType() {
    this.subValOne = 'subOne';
    this.subValTwo = 'subTwo';
};
SubType.prototype = new SuperType();

SubType.prototype.saySubValOne = function () {
    console.log(this.subValOne);
};
var obj = new SubType();
Object.defineProperty(obj, 'notEnum', {
    value: 'notEnum',
    enumerable: false
});
for (let key in obj) {
    console.log(`${key}:${obj[key]}`);
}

// subValOne:subOne
// subValTwo:subTwo
// superVal:super
/* saySubValOne:function () {
     console.log(this.subValOne);
}*/
/* saySuperVal:function () {
    console.log(this.superVal);
}*/

3.Object.entries()
Object. keys () 방법 은 대상 을 매개 변수 로 받 아들 이 고 이 대상 자체 의 매 거 진 속성 을 되 돌려 주 는 키 값 대 배열 입 니 다. 그 배열 은 for... in.. 순환 순환 이 대상 을 옮 겨 다 닐 때 돌아 오 는 순서 와 일치 합 니 다 (for - in 순환 도 원형 체인 의 속성 을 매 거 하 는 것 과 차이 가 있 습 니 다).
//  demo2
console.log(Object.entries(obj));  // [["subValOne", "subOne"], ["subValTwo", "subTwo"]]

4. Object.keys()
Object. keys () 방법 은 대상 을 매개 변수 로 받 아들 여 하나의 배열 로 되 돌려 줍 니 다. 이 대상 자체 의 (계승 이 포함 되 지 않 음) 매 거 진 속성 을 포함 하 는 key 값 (Symbol 속성 이 포함 되 지 않 음) 을 포함 합 니 다.
//  demo2
console.log(Object.keys(obj));  // ["subValOne", "subValTwo"]

5. Object.values()
Object. values () 방법 은 대상 을 매개 변수 로 받 아들 이 고 하나의 배열 을 되 돌려 줍 니 다. 이 대상 자체 의 (계승 이 포함 되 지 않 음) 매 거 진 속성 을 포함 하 는 value 값 (Symbol 속성 이 포함 되 지 않 음) 을 포함 합 니 다.
//  demo2
console.log(Object.values(obj));  // ["subOne", "subTwo"]

6. Object.getOwnPropertyNames()
Object. getOwnProperty Names () 방법 은 대상 을 매개 변수 로 받 아들 여 하나의 배열 로 되 돌려 줍 니 다. 이 대상 자체 의 모든 속성 을 포함 합 니 다 (Symbol 속성 은 포함 되 지 않 지만 매 거 진 속성 은 포함 되 어 있 습 니 다)
//  demo2
Object.getOwnPropertyNames(obj);  // ["subVal", "notEnum"]

7. Object.getOwnPropertySymbols()
Object. getOwnProperty Symbols () 방법 은 대상 을 매개 변수 로 받 아들 여 하나의 배열 을 되 돌려 줍 니 다. 이 대상 자체 의 모든 Symbol 속성 을 포함 합 니 다.
8. Reflect.ownKeys()
Reflect. ownKeys () 방법 은 대상 을 매개 변수 로 받 아들 여 하나의 배열 로 되 돌려 줍 니 다. 이 대상 자체 의 모든 속성 (Symbol 과 셀 수 없 는 속성 포함) 을 포함 합 니 다.
주: 7, 8 은 ES6 의 새로운 유형 인 Symbol 과 관련 되 어 있 습 니 다. 저 는 ES6 지식 에서 상세 하 게 설명 하 겠 습 니 다.
레 퍼 런 스
어떻게 JS 대상 의 모든 속성 을 enumerable = false 의 속성 을 포함 합 니까?javaScript 스 트 리밍 대상, 배열 정리 [비밀 탐지 ES6] 시리즈 칼럼 (8): JS 의 일곱 번 째 기본 유형 Symbols MDN - Object

좋은 웹페이지 즐겨찾기