Baseline Widely available
El Symbol.toPrimitive
es un sÃmbolo que especifica una propiedad con valor de función que se llama para convertir un objeto en un valor primitivo correspondiente.
const object1 = {
[Symbol.toPrimitive](hint) {
if (hint === "number") {
return 42;
}
return null;
},
};
console.log(+object1);
// Expected output: 42
Descripción
Con la ayuda de la propiedad Symbol.toPrimitive
(utilizada como valor de la función), se puede convertir un objeto en un valor primitivo. La función se llama con un argumento de cadena hint
, que especifica el tipo preferido del valor primitivo resultante. El argumento hint
puede ser uno de los siguientes: "number
", "string
" y "default
".
El siguiente ejemplo describe cómo la propiedad Symbol.toPrimitive
puede modificar el valor primitivo convertido desde un objeto.
// Un objeto sin la propiedad Symbol.toPrimitive.
const obj1 = {};
console.log(+obj1); // NaN
console.log(`${obj1}`); // "[object Object]"
console.log(obj1 + ""); // "[object Object]"
// Un objeto con la propiedad Symbol.toPrimitive.
const obj2 = {
[Symbol.toPrimitive](hint) {
if (hint === "number") {
return 10;
}
if (hint === "string") {
return "hello";
}
return true;
},
};
console.log(+obj2); // 10 â hint es "number"
console.log(`${obj2}`); // "hello" â hint es "string"
console.log(obj2 + ""); // "true" â hint es "default"
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