JavaScript는 Java 또는 C와 같은 다른 객체 지향 언어처럼 전통적인 의미의 클래스를 지원하지 않습니다. 그러나 프로토타입을 사용하여 객체에 대한 생성자를 정의하는 고유한 메커니즘을 제공합니다.
프로토타입 사용:
JavaScript 객체에는 메서드를 추가하는 데 사용할 수 있는 프로토타입 속성이 있으며 해당 개체의 모든 인스턴스에 대한 속성입니다. 프로토타입을 사용하여 생성자를 정의하려면 함수를 생성하여 객체의 프로토타입에 할당합니다.
<code class="javascript">function Box(color) { // Constructor this.color = color; } Box.prototype.getColor = function() { return this.color; };</code>
이 생성자는 색상 인수를 가져와 객체의 color 속성에 저장합니다. 또한 Box 개체의 모든 인스턴스에서 액세스할 수 있는 getColor 메서드를 프로토타입에 추가합니다.
개인 속성 숨기기:
JavaScript에는 true가 없습니다. 비공개 멤버인 경우 비공개 속성을 시뮬레이션하는 기술을 사용할 수 있습니다.
<code class="javascript">function Box(col) { var color = col; this.getColor = function() { return color; }; }</code>
이 예에서 색상 변수는 생성자 내에서 지역 변수로 선언됩니다. 생성자 외부에서는 직접 접근할 수 없습니다. 그러나 색상 변수의 값을 반환하는 getColor 메소드를 제공합니다.
사용법:
Box 객체의 인스턴스를 생성하려면 new 키워드를 사용합니다. 그 뒤에 생성자 이름이 옵니다.
<code class="javascript">var blueBox = new Box("blue"); alert(blueBox.getColor()); // will alert blue var greenBox = new Box("green"); alert(greenBox.getColor()); // will alert green</code>
프로토타입을 활용하거나 개인 속성을 시뮬레이션함으로써 JavaScript를 사용하면 객체에 대한 생성자를 정의하고 어느 정도 캡슐화를 시뮬레이션할 수 있습니다.
위 내용은 JavaScript 객체의 생성자를 어떻게 정의합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!