기생 생성자 패턴
일반적으로 앞서 언급한 패턴 중 어느 것도 적용할 수 없는 경우 기생 생성자 패턴을 사용할 수 있습니다. 이 패턴의 기본 아이디어는 단순히 객체를 생성하는 코드를 캡슐화한 다음 새로 생성된 객체를 반환하는 함수를 생성하는 것이지만, 표면적으로는 이 함수가 일반적인 생성자처럼 보입니다. 아래는 예시입니다.
function Person(name, age, job){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function(){ alert(this.name); }; return o; } var friend = new Person("Nicholas", 29, "Software Engineer"); friend.sayName(); //"Nicholas"
이 예에서 Person 함수는 새 개체를 만들고 해당 속성과 메서드로 개체를 초기화한 다음 개체를 반환합니다. 이 패턴은 new 연산자가 사용되고 사용된 래퍼 함수를 생성자라고 부르는 점을 제외하면 팩토리 패턴과 완전히 동일합니다. 생성자가 값을 반환하지 않으면 기본적으로 새 객체 인스턴스를 반환합니다.
안전한 생성자 패턴
소위 안전한 객체는 공용 속성이 없고 해당 메서드가 이를 참조하지 않는 객체를 의미합니다. 안정적인 개체는 일부 안전한 환경(이것과 새 개체의 사용이 금지된 곳)에서 사용하거나 다른 응용 프로그램(예: 매시업 프로그램)에 의해 데이터가 수정되는 것을 방지하는 데 가장 적합합니다. 안전한 생성자는 기생 생성자와 유사한 패턴을 따르지만 두 가지 차이점이 있습니다. 첫째, 새로 생성된 개체의 인스턴스 메서드는 이를 참조하지 않으며, 둘째, 생성자는 new 연산자를 사용하여 호출되지 않습니다. 안정적인 생성자의 요구 사항에 따라 이전 Person 생성자를 다음과 같이 다시 작성할 수 있습니다.
아아아아위 내용은 JavaScript 기생 생성자 패턴 및 안전한 생성자 패턴 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!