2. 클래스의 정의
클래스는 class
키워드를 사용하여 정의한다. 또한, 일반적이지는 않으나 표현식으로 클래스를 정의할 수도 있다. 이때 클래스는 함수와 마찬가지로 이름을 가질 수도, 아닐 수도 있다.
// (보편적인) 클래스 선언문
class Person {}
// 익명 클래스 표현식
const Person = class {};
// 기명 클래스 표현식
const Person = class MyClass {};
위와 같이 클래스를 표현식으로 정의할 수 있다는 사실은 클래스가 일급 객체라는 것을 의미한다. 즉, 클래스는 일급 객체로서 다음의 일급 객체의 조건들을 만족하게 된다.
- 무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다.
- 변수나 자료구조(객체, 배열 등)에 저장할 수 있다.
- 함수의 매개변수에게 전달할 수 있다.
- 함수의 반환값으로 사용할 수 있다.
따라서 클래스는 값처럼 사용할 수 있는 일급 객체(함수)이다.
참고자료
[1] 모던 자바스크립트 딥다이브, 이웅모, 2022/08/24 - pp. 417 - 468
[2] 모던 자바스크립트 튜토리얼 - https://ko.javascript.info/class#ref-38
'Study > JavaScript' 카테고리의 다른 글
[JavaScript] 클래스 - 4부 (0) | 2023.04.03 |
---|---|
[JavaScript] 클래스 - 3부 (0) | 2023.04.03 |
[JavaScript] 클래스 - 1부 (0) | 2023.04.03 |
[JavaScript] 클로저 - 2부 (0) | 2023.03.27 |
[JavaScript] 클로저 - 1부 (0) | 2023.03.27 |