new Object()와 객체 리터럴 표기법의 차이점
JavaScript에서 객체를 생성하는 방법은 두 가지입니다: 생성자를 사용하여- new Object() 구문 또는 객체 리터럴 표기법을 기반으로 합니다. 두 방법 모두 동일한 결과를 얻는 것처럼 보이지만 객체에 메소드를 추가할 때 상당한 차이가 있습니다.
객체 리터럴 표기법
객체 리터럴 표기법을 사용할 때 메소드는 각 개별 객체 내에서 정의되며, 수많은 객체나 메소드가 관련되면 메모리 낭비가 발생할 수 있습니다.
function Obj(prop) { return { p: prop, sayHello: function() { alert(this.p); }, }; } const foo = new Obj("hello");
생성자 기반 구문
반대로, 새로운 Object() 구문을 사용하면 메서드가 객체 프로토타입에 정의되고 모든 객체 인스턴스에서 공유되므로 메모리 사용량이 최적화됩니다.
function Obj(prop) { this.p = prop; } Obj.prototype.sayHello = function() { alert(this.p); }; const foo = new Obj("hello");
객체 프로토타입 사용의 장점
생성자 기반 구문과 개체 프로토타입을 활용하면 다음과 같은 이점을 얻을 수 있습니다.
위 내용은 JavaScript에서 메소드 정의를 위해 객체 리터럴 표기법 대신 객체 프로토타입을 선택하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!