함수 리턴

규칙1) 일반 함수나 메서드는 리턴값을 지정하지 않을 경우, undefined 값이 리턴된다.

규칙2) 생성자 함수에서 리턴값을 지정하지 않을 경우 생성된 객체가 리턴된다.

때문에 생성자 함수에서는 일반적으로 리턴값을 지정하지 않는다.

하지만 만약 다른 객체를 리턴한다면 어떻게 될까? new 연산자로 생성자 함수를 호출해서 새로운 객체를 생성하더라도, 리턴값에서 명시적으로 넘긴 객체나 배열이 리턴된다.

그러나 생성자 함수의 리턴값으로 넘긴 값이 객체가 아닌 불린, 숫자, 문자열인 경우는 무시하고 this로 바인딩 된 객체가 리턴된다.