🌈 constructor 문법의 용도
- object를 마구 복사(Deep copy)하고 싶을때 사용해라.
- 비슷한 object 여러개 만들 때 유용하다.
비슷한 학생 object를 여러개 만들려면?
- constructor 라는 object 생성 기계를 만들어라.
function Student (이름) {
this.name = 이름; // this는 새로생성되는 object를 뜻함(instance)
this.age = 17;
this.sayHi = function() {
console.log('안녕하세요 ' + this.name + '입니다');
}
}
// ▲ 위 코드 전체를 constructor라고 함
var 학생1 = new Student('강동욱');
// ▲ Student가 가지고 있는 name, age, sayHi 속성들을 물려받음 (상속)
var 학생2 = new Student('손흥민');
// ▲ Student가 가지고 있는 name, age, sayHi 속성들을 물려받음 (상속)
학생1.sayHi();
학생2.sayHi();
주의 ) constructor 안에서 쓰이는 this는 새로생성되는 object(Instance)를 뜻한다.
new Student(...)를 써서 함수를 실행하면 아래와 같은 알고리즘이 동작한다.
- 빈 객체를 만들어 this에 할당한다.
- 함수 본문을 실행한다. this에 새로운 프로퍼티를 추가해 this를 수정한다.
- this를 반환한다.
'Front end > JavaScript' 카테고리의 다른 글
🔖 객체지향3. prototype의 특징 (0) | 2023.02.28 |
---|---|
🔖 객체지향2. prototype (0) | 2023.02.28 |
🔖Reference data type (0) | 2023.02.28 |
🔖 Rest 파라미터 (1) | 2023.02.27 |
🔖 자바스크립트 함수 (default parameter/arguments) (0) | 2023.02.27 |