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.
El símbolo conocido como Symbol.unscopables se utiliza para especificar un valor de objeto cuyos nombres de propiedades propias y heredadas se excluyen de los enlaces de entorno with del objeto asociado.
El símbolo @@unscopables (Symbol.unscopables) puede definirse en cualquier objeto para excluir los nombres de propiedades de ser expuestos como variables léxicas en los enlaces de entorno with. Tenga en cuenta que si utiliza Modo estricto, las declaraciones with no están disponibles y probablemente tampoco necesiten este símbolo.
Establecer una propiedad a true en un objeto unscopable la hará unscopable y por tanto no aparecerá en las variables de ámbito léxico. Establecer una propiedad a false la hará scopable y por lo tanto aparecerá en las variables de ámbito léxico.
| Sobrescribir | No |
| Numerable | No |
| Configurable | No |
El siguiente código funciona bien en ES5 y posteriores. Sin embargo, en ECMAScript 2015 y posteriores, se introdujo el método Array.prototype.keys(). Eso significa que dentro del entorno with "keys" sería ahora el método y no la variable. Fue entonces cuando se introdujo el símbolo unscopable. Un ajuste incorporado de unscopables se implementa como Array.prototype[@@unscopables] para evitar que algunos de los métodos de Array se encuentren dentro de la declaración with.
También puede establecer unscopables para sus propios objetos.
| ECMAScript® 2027 Language Specification # sec-symbol.unscopables |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 11 feb 2025 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.