728x90
객체 생성을 생성자 함수를 이용해 생성할 수 있습니다.
function User(name) {
this.name = name;
this.isAdmin = false;
}
let user = new User("보라");
먼저 this = {}로 빈객체가 생성되며 함수 본문을 실행 해 프로퍼티를 추가합니다. 그런 다음 this를 반환하여 객체를 반환합니다.
생성자를 이용하면 프로퍼티의 내용이 다른 동일한 객체를 쉽게 생성할 수 있습니다. => 재사용 가능
모든 함수들은 new 연산자를 이용해 생성자 함수가 될 수 있으며 첫글자가 대문자인 함수는 new 연산자를 이용해 실행해야 한다는 약속이 있습니다.
let user = new function() {
this.name = "John";
this.isAdmin = false;
// 사용자 객체를 만들기 위한 여러 코드.
// 지역 변수, 복잡한 로직, 구문 등의
// 다양한 코드가 여기에 들어갑니다.
};
한번만 사용되는 복잡한 객체는 익명 함수(new function)를 이용해 캡슐화 하며 재사용을 막을 수 있습니다.
new.target : new 연산자를 통해 객체를 생성했는지 알 수 있습니다.
생성자에 return을 한다면 this 대신 해당 객체가 반환이 됩니다.
생성자 함수에 메서드를 작성하는 것도 가능합니다.
function User(name) {
this.name = name;
this.sayHi = function() {
alert( "제 이름은 " + this.name + "입니다." );
};
}
let bora = new User("이보라");'학습(구) > JavaScript(구)' 카테고리의 다른 글
| 자바스크립트 - 옵셔널 체이닝 (0) | 2021.11.15 |
|---|---|
| 자바스크립트 - 객체의 메서드와 this (0) | 2021.11.07 |
| 자바스크립트 - 가비지 컬렉션 (0) | 2021.11.03 |
| 자바스크립트 - 객체 복사 (0) | 2021.11.03 |
| 자바스크립트 - 객체 (0) | 2021.11.02 |