Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
Unario más (+)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
El operadorunario más (+) precede a su operando y evalúa a su operando intentandoconvertirlo en un número, si aún no lo es.
In this article
Pruébalo
const x = 1;const y = -1;console.log(+x);// Expected output: 1console.log(+y);// Expected output: -1console.log(+"");// Expected output: 0console.log(+true);// Expected output: 1console.log(+false);// Expected output: 0console.log(+"hello");// Expected output: NaNSintaxis
+xDescripción
Aunque la negación unaria (-) también puede convertir elementos que no sean números, el operador unario más es la forma más rápida y la preferida de convertir algo en un número, porque no realiza ninguna otra operación con el número.
El operador unario más sigue exactamente los mismos pasos que lacoerción numérica normal utilizada por la mayoría de los métodos integrados que esperan números. Puede convertir las representaciónes en cadenas de textos de enteros y flotantes, así como también valores que no son cadenas de texto comotrue,false ynull. Se admiten números enteros en formato decimal y hexadecimal (con prefijo0x). Se admiten números negativos (aunque no los hexadecimales). Si no puede analizar un valor en particular, lo evaluará comoNaN.A diferencia de otros operadores aritméticos, que funcionan tanto con números como conBigInts, el uso del operador+ en valores BigInt genera unTypeError.
Ejemplos
>Uso con números
const x = 1;const y = -1;console.log(+x);// 1console.log(+y);// -1Uso con elementos que no sean números
+true // 1+false // 0+null // 0+[] // 0+function (val) { return val; } // NaN+1n // throws TypeError: Cannot convert BigInt value to numberEspecificaciones
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-unary-plus-operator> |