클래스는 대표적으로 자바, PHP, Python 등에서도 지원을 하는데, 자바스크립트는 원래 지원하지 않았다. 원래는 constructor
함수를 통해서 객체를 찍어냈었다.
Class
라는 문법이 ES6(ECMAScript) 부터 업데이트 되며 조금 더 손쉽게 객체지향을 구현할 수 있게 되었다.
클래스라는 문법을 제공하는 브라우저 참고는 아래 사이트에서 하면 된다.
Can I use... Support tables for HTML5, CSS3, etc
그리고 현재 최신코드를 예전 문법으로 보게 하는 사이트가 있다. 이 사이트는 아래와 같다.
Babel · The compiler for next generation JavaScript
class Person{
// 객체에 해당하는 메서드를 만들때?
constructor(name, first, second){ // 생성자
this.name = name;
this.first = first;
this.second = second;
}
// 한번만 정의됨 : 성능 절약
sum() {
return 'prototype : ' + (this.first + this.second);
}
}
let kim = new Person('kim',10 ,20);
kim.sum = function(){ // kim 만 동작을 다르게 정의할 수 있음
return 'this : ' + (this.first+this.second);
}
let lee = new Person('lee',10,10);
console.log("kim.sum()", kim.sum()); // kim.sum() this : 30
console.log("lee.sum()", lee.sum()); // lee.sum() prototype : 20