객체 지향 프로그래밍에 대한 JavaScript의 관점을 이해하는 것은 특히 생성자 속성과 관련하여 혼란스러울 수 있습니다. 많은 사람들이 그 효과가 명백히 부족하기 때문에 그 유용성에 의문을 제기합니다.
생성자 속성은 프로그램의 동작에 직접적인 영향을 미치지 않지만, 객체를 생성하는 데 사용되는 함수에 대한 정보를 제공합니다. 새로운 운영자. 제공된 예에서:
function Foo(age) { this.age = age; } function Bar() { Foo.call(this, 42); this.name = "baz"; } Bar.prototype = Object.create(Foo.prototype); var b = new Bar; alert(b.constructor); // "Foo". alert(b.name); // "baz". alert(b.age); // "42".
객체 b는 Foo의 age 속성을 올바르게 상속합니다. 그러나 Bar.prototype.constructor = Bar를 설정하라는 제안이 발생할 수 있는 이유는 다음과 같습니다.
프로토타입 속성은 객체에서 찾을 수 없는 속성에 대한 조회 동작을 정의합니다. x.__proto__ 속성은 x 객체의 프로토타입 객체를 가리킵니다. 위의 예에서 x__proto__ = Bar.prototype.
이제 Bar.prototype.constructor = Bar를 수동으로 설정하는 이유에 대한 질문을 해결합니다.
이것은 액션을 사용하면 Bar.prototype 객체가 Foo가 아닌 Bar의 ID를 가정할 수 있습니다. 그 근거는 고전적인 상속 모델과 유사한 유형 조회 동작을 에뮬레이트하는 것입니다.
그러나 전문가들은 JavaScript의 상속 개념에 크게 의존하지 말 것을 권고합니다. 대신 인터페이스와 믹스인을 사용하는 것을 고려해 보세요. 또한 유형 대신 속성을 확인하면 혼란을 방지할 수 있습니다.
프로그래머는 생성자의 역할과 프로토타입 속성을 이해함으로써 JavaScript의 객체 지향 프로그래밍 기능을 효과적으로 탐색할 수 있습니다.
위 내용은 JavaScript 생성자 속성이 중요한 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!