es6에서의 객체

ES6 이전 자바스크립트에서 클래스를 만드는 건 직관적이지 않고 번거로웠음.
ES6에서는 클래스를 만드는 간편한 새 문법을 도입

1
2
3
4
5
6
class Car{ //새 클래스 Car를 만듦
//아직 인스턴스는 만들어지지 않았지만 언제든 만들 수 있음
constructor(){
}
}

인스턴스를 만들 때는 new키워드 사용

1
2
const car1 = new Car();
const car2 = new Car();

이제 Car클래스의 인스턴스가 두개 생김.
제조사(make), 모델 데이터, 변속(shift)기능을 추가해보자

1
2
3
4
5
6
7
8
9
10
11
12
13
class car{
constructor(make, model){
this.make = make;
this.model = model;
this.userGears = ['p','n','r','d'];
this.userGear = this.userGears[0];
}
shift(gear){
if(this.userGears.indexOf(gear)<0)
throw new Error(`Invalid gear:${gear}`);
this.userGear = gear;
}
}

이 클래스를 실제로 사용하면 다음과 같이 사용할 수 있다.

1
2
3
4
5
6
7
8
9
const car1 = new car("kia", "chacha");
const car2 = new car("honda", "molla");
car1.shift('d');
car2.shift('r');
car1.userGear //"d"
car2.userGear //"r"
car1.make; //"kia"
car1.model; //"chacha"

공유하기 댓글