자바스크립트의 생성자 이해
- 일반 함수와 동일하게 선언
- 생성자는 함수 이름의 첫글자를 대문자로 시작하는것을 권장한다.
Number, Date, Object
- 일반 함수가 아닌 생성자로 사용하기 위해서는 "new"와 함께 사용해야 한다.
- new와 함께 사용하는 함수는 this의 해석이 달라진다.
소스
"use strict";
function Member() {
console.log(this);
}
// 일반 함수의 호출일 경우에는 undefined가 반환됨
var m1 = Member();
// Member가 return하는 값이 없을 경우에는 undefined 출력됨
console.log(m1);
// m1을 호출하는 객체가 없어 undefined 출력
console.log("m1 : ", m1);
// new라는 객체가 생성되어 this는 생성된 객체인 Member{}를 가르킴
var m2 = new Member();
console.log("m2 : ", m2); // Member {}
결과
undefined
undefined
m1 : undefined
Member {}
m2 : Member {}
댓글 영역