클래스 (Class)
- ES6 에서 추가된 문법으로, 클래스는 객체를 생성하기 위한 템플릿입니다. 클래스는 데이터와 이를 조작하는 코드를 하나로 추상화 합니다.
클래스 선언
- 클래스는
class
키워드를 사용하여 선언합니다.
class Person {
constructor(name) {
this.name = name;
}
sayHello() {
console.log(`Hello! My name is ${this.name}`);
}
}
클래스 사용
- 클래스는
new
키워드를 사용하여 객체를 생성합니다.
const me = new Person("Lee");
me.sayHello(); // Hello! My name is Lee
클래스 표현식
- 클래스는 변수에 할당하여 사용할 수 있습니다.
const Person = class {
constructor(name) {
this.name = name;
}
sayHello() {
console.log(`Hello! My name is ${this.name}`);
}
};
클래스 호이스팅
- 클래스는 호이스팅이 발생합니다. 호이스팅이란, 변수의 선언이 그 범위에 따라 선언과 할당으로 분리되는 것을 말합니다.
const me = new Person("Lee");
me.sayHello(); // Hello! My name is Lee
class Person {
constructor(name) {
this.name = name;
}
sayHello() {
console.log(`Hello! My name is ${this.name}`);
}
}
클래스는 함수다
- 클래스는 함수입니다. 클래스는 함수이기 때문에, 함수처럼 호출할 수 있습니다.
class Person {
constructor(name) {
this.name = name;
}
sayHello() {
console.log(`Hello! My name is ${this.name}`);
}
}
const me = new Person("Lee");
me.sayHello(); // Hello! My name is Lee
// 클래스는 함수이기 때문에, 함수처럼 호출할 수 있습니다.
Person("Kim");
console.log(name); // Kim
클래스 재정의
- 클래스는 재정의될 수 없습니다. 재정의를 시도하면 syntax error 가 발생합니다.
Reference
'Javascript' 카테고리의 다른 글
[ JavaScript ] ESLint, Prettier (0) | 2023.01.17 |
---|---|
[ Javascript ] 콜스택과 힙 (0) | 2023.01.17 |
[ JavaScript ] 자바스크립트 메모리 관리 (0) | 2023.01.17 |
[ JavaScript ] map, forEach, reduce (0) | 2023.01.17 |
[ Javascript ] 자바스크립트에서 데이터 형변환 (0) | 2023.01.17 |