Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Operadores
  5. class expression

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

class expression

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨março de 2016⁩.

Aexpressão class é uma das formas de definir uma classe no ECMAScript 2015. Parecido com asexpressões function, expressões class poder ser nomeadas ou não. Se nomeada, o nome da classe é local para apenas o corpo da classe. Classes no JavaScript usam herança com base no prototype

Sintaxe

var MinhaClasse = class [nomeDaClass] [extends] {  // corpo da classe};

Descrição

Uma expressão de classe tem uma sintaxe similar a umadeclaração de classe. No entanto, com expressões de classe, você poderá omitir o nome da classe ("ligação de identificadores"), que você não pode se usar declarações. Adicionalmente, expressões de classe permitem que você redefina/redeclare classes enão invocar nenhum tipo de erros comodeclaração de classe. A propriedade construtora é opcional. E otypeof de classes geradas usando essa palavra-chave sempre será "function".

Assim como declarações de classes, o corpo das expressões de classe são executados emstrict mode.

js
"use strict";var Foo = class {}; // propriedade de construtor é opcionalvar Foo = class {}; // Re-declaração é permitidatypeof Foo; //retorna "function"typeof class {}; //retorna "function"Foo instanceof Object; // trueFoo instanceof Function; // trueclass Foo {} // Throws TypeError, não permite re-declaração

Exemplos

Uma simples expressão de classe

Isso é apenas uma simples classe anônima que você pode referir usando a variável "Foo".

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

Expressões de classes nomeadas

Se você quiser referir a classe atual dentro do corpo da classe, você pode criar uma expressão de classe nomeada. Esse nome é visível apenas no escopo da expressão classe sozinha.

js
var Foo = class NamedFoo {  constructor() {}  whoIsThere() {    return NamedFoo.name;  }};var bar = new Foo();bar.whoIsThere(); // "NamedFoo"NamedFoo.name; // ReferenceError: NamedFoo is not definedFoo.name; // "NamedFoo"

Especificações

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

Compatibilidade com navegadores

Veja também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp