수색…


비고

생성자 함수는 실제로는 단지 정규 함수이며, 특별한 함수는 없습니다. 위의 예에 표시된 특수한 동작을 유발하는 것은 단지 new 키워드 일뿐입니다. 생성자 함수는 원하는 경우 일반 함수처럼 호출 할 수 있습니다. this 값을 명시 적으로 바인딩해야합니다.

생성자 함수 선언

생성자 함수는 새로운 객체를 생성하도록 설계된 함수입니다. 생성자 함수 내에서 this 키워드는 값을 할당 할 수있는 새로 생성 된 객체를 참조합니다. 생성자 함수는이 새 객체를 자동으로 "반환"합니다.

function Cat(name) {
  this.name = name;
  this.sound = "Meow";
}

생성자 함수는 new 키워드를 사용하여 호출됩니다.

let cat = new Cat("Tom");
cat.sound; // Returns "Meow"

생성자 함수는 또한 해당 생성자로 생성 된 모든 객체에 의해 속성이 자동으로 상속되는 객체를 가리키는 prototype 속성을가집니다.

Cat.prototype.speak = function() {
  console.log(this.sound);
}

cat.speak(); // Outputs "Meow" to the console

생성자 함수에 의해 생성 된 객체에는 생성자라는 프로토 타입에 특별한 속성이 있습니다. constructorconstructor 를 만드는 데 사용 된 함수를 가리 킵니다.

cat.constructor // Returns the `Cat` function

생성자 함수에 의해 생성 된 객체는 instanceof 연산자에 의해 생성자 함수의 "인스턴스"로 간주됩니다.

cat instanceof Cat // Returns "true"


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow