javascript unary-operator

Explain+var y-var operador unario en javascript



unary-operator (7)

+ a significa a * 1 y -a significa a * (- 1)

¡¡¡¡¡¡Eso es!!!!!!

Estoy tratando de entender los operadores unarios en javascript, encontré esta guía aquí http://wiki.answers.com/Q/What_are_unary_operators_in_javascript que tiene más sentido, pero lo que no entiendo es cómo se usarían los siguientes ejemplos en un ejemplo de código real:

+a; -a;

A mi entender el + a; está destinado a hacer que la variable sea el valor positivo de a y la -a; está destinado a hacer de la variable el valor negativo de a. He intentado una serie de ejemplos como:

a = -10; a = +a; document.writeln(a);

Y la salida sigue siendo -10;

También he intentado:

a = false; a = +a; document.writeln(a);

Y la salida es 0;

¿Qué es un ejemplo de código práctico de estos operadores unarios?


El operador ''+'' en una variable ''a'' simplemente significa: a

''-'' operador en una variable ''a'' simplemente significa: -a

Since, in above example a=-10; a= +a; // means a, ie, +(-10) which is -10 but, a= -a; // means -a, ie, -(-10) which is +10


El operador + no cambia el signo del valor, y el operador - cambia el signo. El resultado de ambos operadores depende del signo del valor original, ninguno de los dos operadores hace que el valor sea positivo o negativo, independientemente del signo original.

var a = 4; a = -a; // -4 a = +a; // -4

La función abs hace lo que crees que hace el opreator + ; hace que el valor sea positivo independientemente del signo original.

var a =-4; a = Math.abs(a); // 4

Hacer +a es prácticamente lo mismo que hacer a * 1 ; convierte el valor en a a un número si es necesario, pero después de eso no cambia el valor.

var a = "5"; a = +a; // 5

El operador + se usa a veces para convertir cadenas en números, pero tiene las funciones parseInt y parseFloat para realizar la conversión de una manera más específica.

var a = "5"; a = parseInt(a, 10); //5


Me gustaría explicar esto desde un punto matemático básico:
Las reglas multiplicadoras:

Positive x Positive = Positive: 3 x 2 = 6 Negative x Negative = Positive: (-2) x (-8) = 16 Negative x Positive = Negative: (-3) x 4 = -12 Positive x Negative = Negative: 3 x (-4) = -12

Teniendo en cuenta tu ejemplo:

a = -10; a = +a document.writeln(a);

+ a = + (- 10) = Positivo x Negativo = Negativo = -10

a = false; a = +a; document.writeln(a);

false == 0, + a = + (+ 0) = Positivo * Positivo = Positivo = 0 (tal vez use true es un mejor ejemplo)


Prueba esto

false == 0 // returns true

Asi que,

a = false a = +a //a * 1 console.log(a) // prints 0 as expected


Un ejemplo es que se pueden usar para convertir una cadena en un número,

var threeStr = ''3.0'' var three = +threeStr console.log(threeStr + 3) // ''3.03'' console.log(three + 3) //6


a = 1 b = -a console.log(b) output -1