ECMAScript 5에서 속성 속성을 정의하는 기본 방법은 무엇입니까?ECMAScript 5에서 속성을 구성하는 방법 : Object.create 또는 Object.defineProperties?
function Foo() {
Object.defineProperties(this, {
'a': {
value: "A",
writable: false
},
'b': {
value: "B",
writable: true,
enumerable: true
}
});
}
var f = new Foo();
또는 : 내가 이해에서, 적어도 두 가지 방법이 있습니다 new
대 Object.create
와 인스턴스의 장점 게다가
var Foo = Object.create({}, {
'a': {
value: "A",
writable: false
},
'b': {
value: "B",
writable: true,
enumerable: true
}
});
};
var f = Object.create(Foo);
이 Object.defineProperties()
를 사용하여 속성을 정의에서 성능 히트로,이 첫 번째 예에서? 둘은 동등한가요? 가독성에 대한 합의가 있습니까?
바로 사용 : 당신이 정말로 빈 대상이 아닌 뭔가 상속하려는 경우 그러나, 당신은 단지
Object.create
을 사용해야합니다. –성능과 관련하여 구현 및 버전에 따라 다릅니다. 그것을 테스트하십시오. –
당신의 생성자 예제는'f'에 속성을 넣는 반면,'Object.create' 예제에서는'f'가 속성을 상속합니다. –