Study/JavaScript

[JavaScript] 클래스 - 2부

life-of-jibro 2023. 4. 3. 09:44

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