Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnología web para desarrolladores
  2. JavaScript
  3. Referencia de JavaScript
  4. Expresiones y operadores
  5. expresión class

Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.

View in EnglishAlways switch to English

expresión class

Baseline Widely available

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

Laexpresión class es una forma de definir una clase en ECMAScript 2015 (ES6). Similar a lasfunciones, las expresiones de clase pueden ser nombradas o no. Si se nombran, el nombre de la clase es local sólo en el cuerpo de la clase. Las clases en JavaScript utilizan herencia basada en prototipos.

Sintaxis

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

Descripción

Una expresión de clase tiene una sintaxis similar a ladeclaración de una clase. Sin embargo, con las expresiones de clases, está permitido omitir el nombre de la clase ("identificador de enlace"), cosa que no se puede hacer con las declaraciones de clases. Además, las expresiones de clases permiten redefinir/redeclarar clases yno lanzar ningún tipo de error como lasdeclaraciones de clases. La propiedadconstructor es opcional. Y eltypeof de las clases generadas con esta palabra clave siempre será "function".

Tal y como en la declaración de clases, el cuerpo de la expresión de clase se ejecuta enmodo estricto.

js
"use strict";var Foo = class {}; // la propiedad constructor es opcionalvar Foo = class {}; // Se permite repetir declaracionestypeof Foo; // devuelve "function"typeof class {}; // devuelve "function"Foo instanceof Object; // trueFoo instanceof Function; // trueclass Foo {} // Lanza TypeError, no permite volver a declararla

Ejemplo

Una clase sencilla

Esta es una sencilla expresión de clase anónima a la que se puede hacer referencia utilizando la variable "Foo".

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

Expresiones de clase con nombre

Si se quiere hacer referencia a la clase actual dentro del cuerpo de la clase, se puede crear una expresión de clase con nombre. Este nombre sólo será visible en el mismo contexto de la expresión de clase.

js
var Foo = class NamedFoo {  constructor() {}  whoIsThere() {    return NamedFoo.name;  }};var bar = new Foo();bar.whoIsThere(); // "NamedFoo"NamedFoo.name; // ReferenceError: NamedFoo no está definidoFoo.name; // "NamedFoo"

Especificaciones

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

Compatibilidad con navegadores

Ver también

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp