1. 생성자 함수가 아닌 경우
함수에서 리턴값을 지정하지 않으면 어떻게 될까?
답은 undefined가 리턴된다.
2. 생성자 함수인 경우
function A(name){
this.name = name
}
var foo = new A('bob');
생성자 함수인 경우 return이 별도로 없으면 생성된 객체를 리턴한다. 즉, name이 'bob'인 객체를 리턴한다.
생성자 함수가 동작하는 방식을 자세히 살펴보면 다음과 같다.
1. 빈 객체 생성 및 this 바인딩
우선 {}로 생성할 때와 비슷하게 빈 객체가 생성되고 this는 이 빈 객체가 된다.
빈 객체라고 해도 [[prototype]]은 있다. 자세한 것은 이후 포스팅에서 다루도록 한다.
2. 코드 실행
필요에 따라 this 속성 값 추가
3. this 리턴
'웹(web) > 프론트엔드-javascript' 카테고리의 다른 글
[Execution Context] Function call (0) | 2020.06.03 |
---|---|
[Prototype] Prototype Chaining (0) | 2020.06.02 |
[Function]this, apply, call (0) | 2020.06.01 |
[Function] varient using function (0) | 2020.06.01 |
[Function] Function property (0) | 2020.05.31 |