Operadores de asignación

Un operador de asignacion asigna un valor al operando de la izquierda basado en el valor del operando de la derecha.

Visión de conjunto

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 adicció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 Adicció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. Adicion o concatenación es posible. Mira el operador de adición para mas detalles.

Sintaxis

Operador: x += y 
Significado:  x  = x + y

Examples

// 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.

Operador: x -= y 
Significado:  x  = x - y

Ejemplo

// 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.

Sintasis

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.

Sintasis

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.

Sintasis

Operador: x <<= y 
Significado:  x   = x << y

Examples

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.

Sintasis

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.

Sintasis

Operador: x >>>= y 
Significado:  x    = x >>> y

Ejemplos

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

Sintasis

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

Example

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 2017 Draft (ECMA-262)
The definition of 'Operadores de asignación' in that specification.
Draft  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Operadores de asignación' in that specification.
Standard  
ECMAScript 5.1 (ECMA-262)
The definition of 'Operadores de asignación' in that specification.
Standard  
ECMAScript 1st Edition (ECMA-262)
The definition of 'Operadores de asignación' in that specification.
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)

Vea tambien

Etiquetas y colaboradores del documento

 Colaboradores en esta página: maxbfmv55, maxbfmv
 Última actualización por: maxbfmv55,