JavaScript

22.05.08 생성자와 return 문

슈팅스타제제 2022. 5. 8. 16:38

생성자 함수에는 보통 return 문이 없다. 

반환되야 하는 것은 모두 this 에 저장되고 this 는 자동으로 반환되기 때문에 따로 반환문을 쓸 필요가 없는 것이다. 

 

만약 return 문을 붙인다면? 

1. 객체를 return 한다면 this 대신 객체가 반환된다. 

2. 원시형을 return 한다면 return 문이 무시된다. 

 

한마디로, return 객체 외에는 무시해버리고 this 를 반환하는 것이다. 

 

▶ return 뒤에 객체를 넣은 경우, 객체를 반환

function BigUser() {
  this.name = '원숭이'
  
  return {name: '고릴라'}
}

객체를 반환

▶ return 뒤에 아무것도 넣지 않은 경우, this 를 반환

function BigUser() {
  this.name = '원숭이'
  
  return
}

this 를 반환