자바스크립트에서는 new
연산자를 통해 함수를 생성자로 호출할 수 있고 그에 따라 새로운 객체를 생성할 수 있다. 다음과 같은 과정으로 이루어진다.
[[Prototype]]
속성을 생성자 호출할 함수의 prototype
속성으로 지정한다.this
로 지정한다.this
로 위에서 지정한 객체를 사용한다.이를 코드로 보면 다음과 같다.
function Func() {}
const f = new Func();
{}
[[Prototype]]
을 Func.prototype
으로 지정this
로 지정Func()
을 호출하고 이 함수에서 this
를 위 객체로 지정undefined
원시값이므로 생성한 객체를 리턴