Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
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 2017.
Ladeclaración class crea una nueva clase con el nombre proporcionado utilizando la herencia basada en prototipos
También se puede definir una clase usando unaexpresión de clase. Pero a diferencia de las expresiones de clases, la declaración de clases no permite que una clase existente sea declarada de nuevo y en caso de hacerse, lanzará un error de tipo.
In this article
Sintaxis
class name [extends] { // Contenido de la clase}Descripción
De la misma manera que con las expresiones de clase, el contenido de una clase se ejecuta enmodo estricto.
Las declaraciones de clases no estánizadas (al contrario que lasdeclaraciones de funciones).
Ejemplos
>Declaración sencilla de una clase
En el siguiente ejemplo, primero definimos la clasePolygon, luego extendemos de ella para crear la claseSquare. Notar quesuper(), utilizado en el constructor, sólo puede ser llamado dentro del constructor y debe ser llamado antes de que la palabra clavethis pueda ser usada.
class Polygon { constructor(height, width) { this.name = "Polygon"; this.height = height; this.width = width; }}class Square extends Polygon { constructor(length) { super(length, length); this.name = "Square"; }}Especificaciones
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-class-definitions> |