Baseline Widely available
El método Symbol.for(key)
busca los sÃmbolos existentes en un registro de sÃmbolos en tiempo de ejecución con la clave dada y lo devuelve si lo encuentra. En caso contrario, se crea un nuevo sÃmbolo en el registro global de sÃmbolos con esta clave.
console.log(Symbol.for("bar") === Symbol.for("bar"));
// Expected output: true
console.log(Symbol("bar") === Symbol("bar"));
// Expected output: false
const symbol1 = Symbol.for("foo");
console.log(symbol1.toString());
// Expected output: "Symbol(foo)"
Sintaxis Parametros
key
String, obligatoria. La clave del sÃmbolo (y también se utiliza para la descripción del sÃmbolo).
Un sÃmbolo existente con la clave dada si se encuentra; en caso contrario, se crea un nuevo sÃmbolo y se devuelve.
DescripciónA diferencia de Symbol()
, la función Symbol.for()
crea un sÃmbolo disponible en una lista global de registro de sÃmbolos. Además, Symbol.for()
no crea necesariamente un nuevo sÃmbolo en cada llamada, sino que comprueba primero si un sÃmbolo con la key
dada ya está presente en el registro. En ese caso, se devuelve ese sÃmbolo. Si no se encuentra ningún sÃmbolo con la clave dada, Symbol.for()
creará un nuevo sÃmbolo global.
El registro global de sÃmbolos es una lista con la siguiente estructura de registros y se inicializa vacÃa:
Nombre del campo Valor [[key]] Una clave de cadena utilizada para identificar un sÃmbolo. [[symbol]] Un sÃmbolo que se almacena globalmente. Ejemplos Uso de Symbol.for()Symbol.for("foo"); // crear un nuevo sÃmbolo global
Symbol.for("foo"); // obtener el sÃmbolo ya creado
// El mismo sÃmbolo global, pero no localmente
Symbol.for("bar") === Symbol.for("bar"); // true
Symbol("bar") === Symbol("bar"); // false
// La clave también se utiliza como descripción
const sym = Symbol.for("mario");
sym.toString(); // "Symbol(mario)"
Para evitar conflictos de nombres con sus claves de sÃmbolos globales y otros sÃmbolos globales (del código de la biblioteca), puede ser una buena idea poner un prefijo a sus sÃmbolos:
Symbol.for("mdn.foo");
Symbol.for("mdn.bar");
Especificaciones Compatibilidad con navegadores Véase también
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4