private는 #으로 사용을 해라.public보다는 private를 무조건 붙여서 고쳐서하는게 좋다.: 여러 가지 유사한 객체를 쉽게 생성하는 자바스트립트 최신 문법(ES6+)
보통 자바스크립트에서 객체를 정의할 때 다음과 같은 객체 정의 문법 사용
let cap = {
name: '캡틴',
skill: '방패 던지기'
}
let moon = {
name: '동민',
skill: 'typescript'
}
→ name과 skill이라는 공통 속성을 가짐
→ 이렇게 되면 일일이 객체를 정의하기보다는 함수를 사용하는 것이 유리
function Person(name, skill) {
this.name = name;
this.skill = skill;
}
let cap = new Person('캡틴', '방패 던지기');
let moon = new Person('동민', 'typescript');
→ 생성자 함수는 new라는 키워드를 붙여서 호출하면 새로운 객체를 생성해줌
위의 생성자 함수를 최신 자바스크립트 문법으로 표현하면 다음과 같음
class Person {
constructor(name, skill) {
this.name = name;
this.skill = skill;
}
}
→ Person 클래스는 Person 생성자 함수와 코드는 다르지만 역할이 동일
생성자 함수라는 일반적인 관례를 문법 레벨로 끌어올린 것이 클래스