생성자 함수
비슷한 객체를 여러게 만들어야 되는 상황이 생긴다면?
function User(name, age){
this.name = name;
this.age = age;
}
let user1 = new User('Mike', 30);
let user2 = new User('Jane', 22);
let user3 = new User('Tom', 17);
- 함수의 첫 글자는 대문자로 사용한다. / new 연산자를 사용해서 호출한다.
생성자 함수 동작
동작 방식
function User(name, age){
this = {} // 생략가능 코드
this.name = name;
this.age = age;
return this; // 생략가능 코드
}
new 함수명(); // 실행 함수
생성자 함수 메소드 추가
function User(name, age){
this.name = name;
this.age = age;
this.sayName = function(){
console.log(this.name); // this 는 user5를 가르킨다.
}
}
let user5 = new User('Han', 40);
user5.sayName(); // 'Han'