constructor
object자료를 많이 만들고 싶을때 사용한다
//var 학생1 = { name : 'Kim', age : 15 };
function 기계(){
this.name = 'Kim';
this.age = 15;
}
object자료 복사 기계 만들땐 function하나 만들고{}안에 this.~ = ~ 해주면된다
위 코드에서 this.name = 'Kim' / this.age = 15 이부분임
여기서 this는 기계에서 새로생성되는 오브젝트를 뜻한다 (instance라고 불림)
그냥 간단한 object 자료 추가/수정문법
새로생성되는 오브젝트.name은 'Kim'을 넣어주세요~ 라는 뜻
this를 이용해서 새로 복사될 object가 가질 값들을 디자인해놓으면 된다
//var 학생1 = { name : 'Kim', age : 15 };
function 기계(){
this.name = 'Kim';
this.age = 15;
}
var 학생1 = new 기계();
var 학생2 = new 기계();
오브젝트를 뽑을때는 new라는 키워드를 쓰고 오른쪽에 기계(함수명/constructor)이름을 쓰면
기계로부터 새로운 오브젝트 뽑아낼 수 있다.
그걸 변수에 저장하면 자유롭게 사용 가능
var 학생1 = {
name : 'Kim',
age : 15
sayHi : function(){
console.log('안녕하세요' + this.name + ' 입니다');
}
};
학생1.sayHi(); // 안녕하세요 kim 입니다
function 기계(){
this.name = 'Kim';
this.age = 15;
this.sayHi = function(){
console.log('안녕하세요' + this.name + ' 입니다');
}
}
var 학생1 = new 기계();
var 학생2 = new 기계(); // 여기서 학생2에 obj 가 이미 복사됨
학생2.sayHi(); // obj에서 sayhi 부분 뽑는겨
function 기계(이름){
this.name = 이름;
this.age = 15;
this.sayHi = function(){
console.log('안녕하세요' + this.name + ' 입니다');
}
}
var 학생1 = new 기계('Park');
var 학생2 = new 기계('Kim');
기계라는 constructor가 가진 name, age 속성들을 그대로 물려받아서 오브젝트를 하나 뽑아주는게 재산 물려주는 상속과 비슷하다고 해서 상속이라고 부릅니다. 그래서 상속해주는것은 부모, 상속받는 오브젝트들은 자식이라고 비유