Un operador de asignacion asigna un valor al operando de la izquierda basado en el valor del operando de la derecha.
Visi贸n general
El operador de asignaci贸n basico es el igual (=
), el cual asigna el valor del operando derecho al operando izquierdo. Es decir, x = y asigna el valor de y a x. El otro operador de asignacion son usualmente son abreviaciones para operaciones estandar, como se muestra en las siguientes definiciones y ejemplos.
Nombres | Abreviaciones | Significado |
---|---|---|
Asignaci贸n | x = y |
x = y |
Asignaci贸n de adici贸n | x += y |
x = x + y |
Asignaci贸n de sustracci贸n | x -= y |
x = x - y |
Asignaci贸n de multiplicaci贸n | x *= y |
x = x * y |
Asignaci贸n de divisi贸n | x /= y |
x = x / y |
Asignaci贸n de Resto | x %= y |
x = x % y |
Asignaci贸n de exponenciaci贸n | x **= y |
x = x ** y |
Asignaci贸n de desplazamiento a la izquierda | x <<= y |
x = x << y |
Asignaci贸n de desplazamiento a la derecha | x >>= y |
x = x >> y |
Asignaci贸n sin signo de desplazamiento a la derecha | x >>>= y |
x = x >>> y |
Asignacion AND | x &= y |
x = x & y |
Asignacion XOR | x ^= y |
x = x ^ y |
Asignacion OR | x |= y |
x = x | y |
Asignaci贸n
Operador de asignaci贸n simple que asigna un valor a una variable. EL operador de asignaci贸n evalua al valor asignado. Encadenando el operador de asignaci贸n es posible en orden de asignar un solo valor a multiples variables. Vea el ejemplo.
Sintaxis
Operador: x = y
Ejemplos
// Asumiendo las siguientes variables
// x = 5
// y = 10
// z = 25
x = y // x es 10
x = y = z // x, y, z son todas 25
Asignaci贸n de Adici贸n
El operador de asignaci贸n de suma agrega el valor del operando derecho a la variable y le asigna el resultado a la variable. Los dos tipos de operandos determinan el comportamiento del operador de asignaci贸n de adici贸n. Adici贸n o concatenaci贸n es posible. Mira el operador de adici贸n para m谩s detalles.
Sintaxis
Operador: x += y Significado: x = x + y
Ejemplos
// Asuma las siguientes variables
// foo = "foo"
// bar = 5
// baz = true
// Number + Number -> Adici贸n
bar += 2 // 7
// Boolean + Number -> Adici贸n
baz += 1 // 2
// Boolean + Boolean -> Adici贸n
baz += false // 1
// Number + String -> concatenaci贸n
bar += "foo" // "5foo"
// String + Boolean -> concatenaci贸n
foo += false // "foofalse"
// String + String -> concatenaci贸n
foo += "bar" // "foobar"
Asignaci贸n de Sustracci贸n
El operador de asignaci贸n de sustracci贸n sustrae el valor del operador derecho desde la variable y asigna el resultado a la variable. Mira el operador de sustracci贸n para mas detalles.
Sintaxis
Operador: x -= y Significado: x = x - y
Ejemplos
// Asumiendo las siguientes variables
// bar = 5
bar -= 2 // 3
bar -= "foo" // NaN
Asignaci贸n de Multiplicaci贸n
El operador de asignaci贸n de multiplicaci贸n multiplica la variable por el valor del operando derecho y asigna el resultado a la variable. Vea el Operador de Multiplicaci贸n para mas detalles.
Sintaxis
Operador: x *= y Significado: x = x * y
Ejemplos
// Asumiendo la siguiente variable
// bar = 5
bar *= 2 // 10
bar *= "foo" // NaN
Asignaci贸n de divisi贸n
El operador de asignaci贸n de divisi贸n divide la variable por el valor del operando derecho y asigna el resultado a la variable. Vea el operador de divisi贸n para mas detalles.
Sintaxis
Operador: x /= y Significado: x = x / y
Ejemplos
// Asumiendo la siguiente variable
// bar = 5
bar /= 2 // 2.5
bar /= "foo" // NaN
bar /= 0 // Infinity
Asignaci贸n de resto
El operador de asignaci贸n de resto divide la variable por el valor del operador derecho y asigna el resto a la variable. Vea el Operador de resto para mas detelles.
Sintaxis
Operador: x %= y Significado: x = x % y
Ejemplos
// Asumiendo la siguiente variable
// bar = 5
bar %= 2 // 1
bar %= "foo" // NaN
bar %= 0 // NaN
Asignaci贸n de exponenciaci贸n
El operador de asignaci贸n de exponente evalua el resultado de elevar primero el operando a la potencia del segundo operando. Vea el operador de exponenciaci贸npara mas detalles
Sintaxis
Operador: x **= y Significado: x = x ** y
Ejemplos
// Asumiendo la siguiente variable
// bar = 5
bar **= 2 // 25
bar **= "foo" // NaN
Asignaci贸n de desplazamiento a la izquierda
El operador de asignaci贸n de desplazamiento a la izquierda mueve una cantidad especifica de bits a la izquierda y asigna el resultado a la variable. Vea el operador de desplazamiento a la izquierda para mas detalles.
Sintaxis
Operador: x <<= y Significado: x = x << y
Ejemplos
var bar = 5; // (00000000000000000000000000000101)
bar <<= 2; // 20 (00000000000000000000000000010100)
Asignaci贸n de desplazamiento a la derecha
El operador de asignaci贸n de desplazamiento a la derecha mueve una cantidad especifica de bits a la derecha y asigna el resultado a la variable. Vea el operador de desplazamiento a la derecha para mas detalles.
Sintaxis
Operador: x >>= y Significado: x = x >> y
Ejemplos
var bar = 5; // (00000000000000000000000000000101)
bar >>= 2; // 1 (00000000000000000000000000000001)
var bar -5; // (-00000000000000000000000000000101)
bar >>= 2; // -2 (-00000000000000000000000000000010)
Asignaci贸n sin signo de desplazamiento a la derecha
El operador de asignaci贸n sin signo de desplazamiento a la derecha mueve una cantidad especifica de bits a la derecha y asigna el resultado a la variable. Vea el operador sin signo de desplazamiento a la derecha para mas detalles.
Sintaxis
Operador: x >>>= y Significado: x = x >>> y
Ejemplo
var bar = 5; // (00000000000000000000000000000101)
bar >>>= 2; // 1 (00000000000000000000000000000001)
var bar = -5; // (-00000000000000000000000000000101)
bar >>>= 2; // 1073741822 (00111111111111111111111111111110)
Asignaci贸n AND
El operador de asignacion AND usa la representaci贸n binaria de ambos operandos, hace una operacion AND en ellos y asigna el resultado a la variable. Vea el operador AND para mas detalles.
Sintaxis
Operador: x &= y Significado: x = x & y
Ejemplo
var bar = 5;
// 5: 00000000000000000000000000000101
// 2: 00000000000000000000000000000010
bar &= 2; // 0
Asignaci贸n XOR
El operador de asignacion XOR usa la representaci贸n binaria de ambos operandos, hace una operacion XOR en ellos y asigna el resultado a la variable. Vea el operador XOR para mas detalles
Sintaxis
Operador: x ^= y Significado: x = x ^ y
Ejemplo
var bar = 5;
bar ^= 2; // 7
// 5: 00000000000000000000000000000101
// 2: 00000000000000000000000000000010
// -----------------------------------
// 7: 00000000000000000000000000000111
Asignaci贸n OR
El operador de asignacion OR usa la representaci贸n binaria de ambos operandos, hace una operacion OR en ellos y asigna el resultado a la variable. Vea el operador OR para mas detalles
Sintaxis
Operador: x |= y Significado: x = x | y
Ejemplo
var bar = 5;
bar |= 2; // 7
// 5: 00000000000000000000000000000101
// 2: 00000000000000000000000000000010
// -----------------------------------
// 7: 00000000000000000000000000000111
Ejemplos
Operador izquierdo con otros operadores de asignaci贸n
En situaciones inusuales, el operador de asignacion (e.g x += y) no es identico al significado de la expresi贸n (aca x = x + y). Cuando el operando izquierdo de un mismo operador de asignaci贸n contiene un operador de asignaci贸nm el operando izquierdo es evaluado una vez. por ejemplo:
a[i++] += 5 // i es evaluado una vez
a[i++] = a[i++] + 5 // i es evaluado dos veces
Especificaciones
Especificaci贸n | Estado | Comentario |
---|---|---|
ECMAScript (ECMA-262) La definici贸n de 'Operadores de asignaci贸n' en esta especificaci贸n. |
Living Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) La definici贸n de 'Operadores de asignaci贸n' en esta especificaci贸n. |
Standard | |
ECMAScript 5.1 (ECMA-262) La definici贸n de 'Operadores de asignaci贸n' en esta especificaci贸n. |
Standard | |
ECMAScript 1st Edition (ECMA-262) La definici贸n de 'Operadores de asignaci贸n' en esta especificaci贸n. |
Standard |
Definici贸n inicial |
Compatibilidad de Navegadores
Caracter铆stica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Soporte basico | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Caracter铆stica | Android | Chrome para Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Soporte basico | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |