>  기사  >  웹 프론트엔드  >  JavaScript_javascript 기술로 객체를 생성하기 위해 Object.create()를 사용하는 방법 소개

JavaScript_javascript 기술로 객체를 생성하기 위해 Object.create()를 사용하는 방법 소개

WBOY
WBOY원래의
2016-05-16 16:23:071444검색

객체 생성을 위해 ECMAScript 5 표준에서는 리터럴과 new 연산자를 사용하는 것 외에도 Object.create()를 사용할 수도 있습니다. Object.create() 함수는 2개의 객체를 매개변수로 받습니다. 첫 번째 객체는 필수이며 생성된 객체의 프로토타입을 나타냅니다. 두 번째 객체는 선택사항이며 생성된 객체의 다양한 속성(예: 쓰기 가능, 열거 가능)을 정의하는 데 사용됩니다. ).

코드 복사 코드는 다음과 같습니다.

var o = Object.create({x:1, y:7});
console.log(o);//객체 {x=1, y=7}
console.log(o.__proto__);//객체 {x=1, y=7}

첫 번째 인수로 null을 사용하여 Object.create()를 호출하면 프로토타입 없이 객체가 생성됩니다. 이 객체에는 기본 객체 속성이 없습니다(예를 들어 toString() 메서드가 없으므로 이 객체 기호에 대한 작업을 사용함) 예외가 발생합니다):

코드 복사 코드는 다음과 같습니다.

var o2 = Object.create(null);
console.log("O2입니다);//유형 오류, o2를 기본 유형으로 변환할 수 없습니다

ECMAScript 3 표준만 지원하는 브라우저의 경우 Douglas Crockford의 메서드를 사용하여 Object.create() 작업을 수행할 수 있습니다.

코드 복사 코드는 다음과 같습니다.

if (typeof Object.create !== '함수') {
Object.create = 함수(o) {
         함수 F() {}
          F.prototype = o;
          새 F() 반환
};
}
newObject = Object.create(oldObject);
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.