웹(web)/프론트엔드-javascript
[Function] return value
바코94
2020. 6. 1. 01:31
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 리턴