객체 생성자(Object Constructor)는 비슷한 객체를 무수히 만들어낼 수 있다.
cf. 객체 리터럴로 객체를 생성할 수도 있다. var dog = { name: ‘메시’, breed:’푸들’, weight: ‘6kg’}
객체 생성자 만들기
1 | function Dog(name, breed, weight) { |
객체 생성자 특징
- 객체 생성자는 함수이다.
- 생성자 함수명은 일반적으로 대문자로 시작한다.
this
키워드를 사용한다.- 생성자 함수는 아무것도 반환하지 않는다.
생성자 사용법과 new 연산자(new Operator)
1 | function Dog(name, breed, weight) { |
작동방식 🔥
new
연산자가 새로운 빈 객체를 만든다.new
는this
가 방금 새롭게 만든 빈 객체를 가리키도록 만든다.- 객체 생성자 Dog함수를 호출하고, ‘메시’, ‘푸들’, ‘6kg’을 인자로 전달한다.
- 함수의 블럭이 호출되고, 아까 만든 빈 객체의 속성에 값들이 할당된다.
- messi가 그 객체의 참조 변수가 된다.
예시로 만들어진 객체들
1 | messi 객체 |
<참고>
- HeadFirst Javascript