object는 그냥 복사하면 안된다.
object를 여러개 복사하고 싶을 때 사용하는 것이 constructor
상속기능을 구현하는 장치이다.
상속(inheritance)
constructor가 가진 속성들을 그대로 물려받는 오브젝트를 만드는 것.
-> 자식이 부모에게 상속받음
(부모 : 상속해주는 오브젝트, 자식 : 상속받는 오브젝트)
function을 이용해 만듦.
this keyword 사용해서 새로 생기는 object에 속성 부여
이때 this는 새로 생성되는 오브젝트를 뜻함.(= instance)
변수에 저장해서 자유롭게 사용 가능)
var a = new constructor();
var b = new constructor();
var 학생1 = {name : 'kim', age : 15}
function Machine(이름,나이){
this.name = 이름;
this.age = 나이;
this.sayHi = function(){
console.log('안녕하세요' + this.name + ' 입니다');
}
}
var 학생1 = new Machine('Park',15); // {name: 'Park', age : 15, sayHi : ~~}
var 학생2 = new Machine('Kim',18); // {name: 'kim', age : 18, sayHi : ~~}
function Constructor(상품명, 가격){
this.name = 상품명;
this.price = 가격;
this.부가세 = function(){
console.log(this.price * 0.1);
}
}
var product1 = new Constructor('shirts', 50000);
var product2 = new Constructor('pants', 60000);