Get to know MDN better
Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2021.
Las propiedades de la clase son públicas de forma predeterminada y se pueden examinar o modificar fuera de la clase. Sin embargo, existe una propuesta experimental para permitir la definición de campos de clase privados utilizando un # prefijo hash .
Los campos privados son accesibles en el constructor de clases desde dentro de la propia declaración de clases.
La limitación de las variables estáticas que se llaman solo por métodos estáticos aún se mantiene
Los campos estáticos privados se agregan al constructor de la clase en el momento de la evaluación de la clase.
Existe una restricción de procedencia en los campos estáticos privados. Solo la clase que define el campo estático privado puede acceder al campo.
Esto puede conducir a un comportamiento inesperado al usar this.
Los campos de instancia privados se declaran con # nombres (pronunciados " nombres hash "), que son identificadores con el prefijo #. El # es una parte del nombre propio. También se utiliza para la declaración y el acceso.
La encapsulación es impuesta por el lenguaje. Es un error de sintaxis referirse a # nombres que están fuera del alcance.
Al igual que su equivalente público, los métodos estáticos privados se invocan en la propia clase, no en instancias de la clase. Al igual que los campos estáticos privados, solo se puede acceder a ellos desde dentro de la declaración de clase.
Los métodos estáticos privados pueden ser funciones generadoras, asíncronas y asíncronas.
Esto puede conducir a un comportamiento inesperado al usar this. En el siguiente ejemplo se this hace referencia a la Derived clase (no a la Base clase) cuando intentamos llamar Derived.publicStaticMethod2(), y por lo tanto exhibe la misma "restricción de procedencia" que se mencionó anteriormente:
Los métodos de instancia privada son métodos disponibles en instancias de clase cuyo acceso está restringido de la misma manera que los campos de instancia privada.
Los métodos de instancia privada pueden ser funciones generadoras, asíncronas o asíncronas. Los getters y setters privados también son posibles:
| ECMAScript® 2027 Language Specification # prod-PrivateIdentifier |
Enable JavaScript to view this browser compatibility table.
Enable JavaScript to view this browser compatibility table.
Enable JavaScript to view this browser compatibility table.
This page was last modified on 1 jul 2025 by MDN contributors.
Your blueprint for a better internet.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.