Movatterモバイル変換


[0]ホーム

URL:


  1. 개발자를 위한 웹 기술
  2. JavaScript
  3. JavaScript 참고서
  4. 식 및 연산자
  5. class 식

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

class 식

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2016년 3월⁩.

class 표현식은 ECMAScript 2015 (ES6)에서 클래스를 정의하는 한 방법입니다.function 식과 비슷하게, class 식은 기명(named) 또는 익명(unnamed)일 수 있습니다. 기명인 경우, 클래스명은 클래스 본체(body)에서만 지역(local)입니다. JavaScript 클래스는 프로토타입(원형) 기반 상속을 사용합니다.

시도해 보기

const Rectangle = class {  constructor(height, width) {    this.height = height;    this.width = width;  }  area() {    return this.height * this.width;  }};console.log(new Rectangle(5, 8).area());// Expected output: 40

구문

js
    var MyClass = class [className] [extends] {      // class body    };

설명

class 식은class 문과 구문이 비슷합니다. 그러나, class 식의 경우 클래스명("binding identifier")을 생략할 수 있는데 class 문으로는 할 수 없습니다.

class 문과 같이, class 식의 본체는엄격 모드에서 실행됩니다.

예제

간단한 class 식

이게 바로 변수 "Foo"를 사용하여 참조할 수 있는 간단한 익명 class 식입니다.

js
var Foo = class {  constructor() {}  bar() {    return "Hello World!";  }};var instance = new Foo();instance.bar(); // "Hello World!"Foo.name; // ""

Named class 식

당신이 클래스 몸통 내에서 현재 클래스를 참조하고 싶다면, 유명 class 식을 만들 수 있습니다. 이 이름은 오직 class 식 자체 범위에서만 볼 수 있습니다.

js
var Foo = class NamedFoo {  constructor() {}  whoIsThere() {    return NamedFoo.name;  }};var bar = new Foo();bar.whoIsThere(); // "NamedFoo"NamedFoo.name; // ReferenceError: NamedFoo가 정의되지 않음Foo.name; // "NamedFoo"

명세

Specification
ECMAScript® 2026 Language Specification
# sec-class-definitions

브라우저 호환성

같이 보기

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp