하나의 청사진을 만들고, 그 청사진을 바탕으로 한 객체를 만드는 프로그래밍 패턴
여기서 청사진은 'class'
한 객체는 'instance' 라고 한다.
인스턴스의 사용
let avante = new Car('hyundai','avante','black');
avante.color;
avante.drive();
let mini = new Car('bmw','mini','white');
mini.brand;
mini.refuel();
'class' 를 통해 'instance'를 만들 때 함수를 이용하는 방법이 조금 다르다.
바로, 'new' 키워드를 써서 만든다.
'instance'를 만들때 생성자 함수'constructor'함수를 실행한다.
참고로 생성자 함수는 return 값을 만들지 않는다.
function Car(brand, name, color){
this.brand = brand;
this.name = name;
this.color = color;
Car.prototype.refuel = function(){
}
Car.prototype.drive = function(){
}
let avante = new Car('hyundai','avante', 'black');
avante.color;
avante.refuel();
}
class Car {
constructor(brand, name, color){
}
refuel(){
}
drive(){
}
}
우리가 그동안 만들었던 배열은, 전부 Array의 인스턴스다!
따라서
let arr = ['code', 'states', 'pre']와
let arr = new Array('code', 'states', 'pre') 가 동일하다.