Conoce los operadores unarios de JavaScript

Resumen: en este tutorial, aprenderás a usar operadores unarios de JavaScript que toman un solo operando y realizan una operación.
¿Qué es un operador unario?
Los operadores unarios son operadores aritméticos ( +, -, *, /, **, % ) que realizan una acción sobre un solo operando.
Una operación unaria: es una operación que solo necesita un valor para operar. Esto quiere decir que un operador unario más un valor nos va a devolver otro valor
Introducción a los operadores unarios de JavaScript
Los operadores unarios trabajan en un valor. La siguiente tabla muestra los operadores unarios y su significado:
Unary Operators | Name | Meaning |
---|---|---|
+x | unario más | Convertir un valor en un número |
-x | unario menos | Convertir un valor en un número y negarlo |
++x | Operador de incremento (prefijo) | Suma uno al valor |
–x | Operador de disminución (prefijo) | Restar uno al valor |
x++ | Operador de incremento (postfijo) | Suma uno al valor |
x– | Operador de disminución (Postfix) | Restar uno al valor |
Operador unario de más (+)
El operador unario más es un simple signo de más (+)
. Si colocas el signo más unario antes de un valor numérico, no hace nada. Por ejemplo
let x = 10;
let y = +x;
console.log(y); // 10
Cuando aplicas el operador unario más (+)
a un valor no numérico, realiza una conversión de número utilizando la función Number()
con las reglas de la siguiente tabla:
Value | Result |
---|---|
boolean | Convierte false a 0 , true a 1 |
string | Convierte el valor de la cadena en función de un conjunto de reglas específicas |
object | Llame al método valueOf() y/o toString() para obtener el valor para convertirlo en un número |
Por ejemplo, lo siguiente usa el operador unario más unario (+)
para convertir la cadena '10
' al número 10
:
let s = '10';
console.log(+s); // 10
El siguiente ejemplo usa el operador más unario (+)
para convertir un valor booleano en un número false
a 0
y true
a 1
:
let f = false,
t = true;
console.log(+f); // 0
console.log(+t); // 1
Resultado:
0
1
Supongamos que tienes un objeto person
con el método toString()
de la siguiente manera:
let person = {
name: 'John',
toString: function () {
return '25';
},
};
console.log(+person);
Resultado:
25
En este ejemplo, aplicamos el operador unario más (+)
en el objeto person que tiene el método toString()
, el motor de JavaScript llama al método toString()
para obtener el valor ('25')
y convertirlo en un número. Lo siguiente agrega el método valueOf()
al objeto person
:
let person = {
name: 'John',
toString: function () {
return '25';
},
valueOf: function () {
return '30';
},
};
console.log(+person);
Resultado:
30
En este ejemplo, el objeto person tiene el método valueOf()
, el motor de JavaScript lo llama en lugar del método toString()
para obtener el valor a convertir.
Operador unario menos (-)
El operador unario menos es un solo signo de menos (-)
. Si aplica el operador unario menos a un número, pone en negativo el número. Por ejemplo:
let x = 10;
let y = -x;
console.log(y); // -10
Si aplicas el operador unario menos a un valor no numérico, convierte el valor en un número usando las mismas reglas que el operador unario más y luego niega el valor.
Operadores de incremento/decremento
El operador de incremento tiene dos signos unarios de más (++)
mientras que el operador de disminución tiene dos signos unarios menos (--)
.
Tanto los operadores de incremento como los de decremento tienen dos versiones: prefijo y posfijo. Y coloca las versiones de prefijo y posfijo de los operadores de incremento o decremento antes y después de la variable a la que se aplican.
El siguiente ejemplo usa el operador de incremento de prefijo para agregar uno a una variable:
let age = 25;
++age;
console.log(age); // 26
Es equivalente a lo siguiente:
let age = 25;
age = age + 1;
console.log(age); // 26
El siguiente ejemplo usa el operador de decremento para restar uno de una variable:
let weight = 90;
--weight;
console.log(weight); // 89
Es equivalente a lo siguiente:
let weight = 90;
weight = weight - 1;
console.log(weight); // 89
Cuando aplicas el incremento o decremento usando prefijo, JavaScript cambia la variable antes de evaluar la declaración. Por ejemplo:
let weight = 90;
weight = ++weight + 5;
console.log(weight); // 96
En este ejemplo:
- Primero, aumente weight en el lado derecho para que
++weight
sea91
- Segundo, agregue cinco a
++weight
que devuelve96
- Tercero, asigna el resultado a
weight
del lado izquierdo.
Asimismo, el siguiente ejemplo utiliza un operador de decremento de prefijo:
let weight = 90;
weight = --weight + 5;
console.log(weight); // 94
En este ejemplo:
- Primero, resta uno a weight y
--weight
devuelve89
- En segundo lugar, agregue cinco a
--weight
que devuelve94
- Tercero, asigne el resultado a weight del lado izquierdo.
El operador de incremento o decremento del sufijo cambia el valor después de que se evalúa la declaración. Por ejemplo:
let weight = 90;
let newWeight = weight++ + 5;
console.log(newWeight); // 95
console.log(weight); // 91
Cómo funciona.
- Primero, agregue cinco a
weight (90)
y asigne el resultado anewWeight (95)
- En segundo lugar, agregue uno a la variable weight después de que se complete la segunda declaración, el weight se convierte en
91
. - En tercer lugar, envía
newWeight
yweight
a la consola.
Al aplicar el operador de incremento/decremento a un valor no numérico, realiza los siguientes pasos:
- Primero, convierte el valor en un número usando las mismas reglas que el operador unario más
(+)
. - Luego, suma uno o resta uno del valor.
Resumen
- Los operadores unarios trabajan en un valor.
- Unario más (+) o menos (-) convierte un valor no numérico en un número. El menos unario niega el valor después de la conversión.
- El operador de incremento de prefijo suma uno a un valor. El valor se cambia antes de que se evalúe la declaración.
- El operador de incremento de sufijo suma uno a un valor. El valor se cambia después de evaluar la declaración.
- El operador de decremento de prefijo resta uno de un valor. El valor se cambia antes de que se evalúe la sentencia.
- El operador de decremento posfijo resta uno de un valor. El valor se cambia después de evaluar la declaración.