수색…
비고
생성자 함수는 실제로는 단지 정규 함수이며, 특별한 함수는 없습니다. 위의 예에 표시된 특수한 동작을 유발하는 것은 단지 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
생성자 함수에 의해 생성 된 객체에는 생성자라는 프로토 타입에 특별한 속성이 있습니다. constructor
는 constructor
를 만드는 데 사용 된 함수를 가리 킵니다.
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