Operador Coma

El operador coma evalua cada uno de sus operandos (de izquierda a derecha) y retorna el valor del último operando.

Sintaxis

expr1, expr2, expr3...

Parámetros

expr1, expr2, expr3...
Cualquiera expresiones.

Descripción

Puede usar el operador coma cuando deseé mútiples expresiones en una localización que requiere una sola expresión. El uso más común de este operador es proveer múltiples parámetros en un búcle for

Ejemplo

Si a es un array de dos dimensiones con 10 elementos en un lado, el siguiente código usa el operador coma para incrementar dos variables a la vez. Note que la coma en la sentencia var no es el operador coma, porque no existe adentro de una expresión.Más bien, es un carácter especial en sentencias var para combinar a múltiples de ellas en una sola. Sin embargo, esa coma se comporta casi igual que el operador coma. El código imprime los valores de los elementos diagonales en el array:

for (var i = 0, j = 9; i <= 9; i++, j--)
  document.writeln("a[" + i + "][" + j + "] = " + a[i][j]);

Procesar y luego retornar:

Otro ejemplo de lo que se puede hacer con el operador coma es procesar antes de retornar. Como se mencionó, solo el último elemento será retornado pero todos los otros también van a ser evaluados. Así, se puede hacer:

function myFunc () {
  var x = 0;

  return (x += 1, x); // the same as return ++x;
}

Específicaciones

Especificación Estado Comentario
ECMAScript 2016 Draft (7th Edition, ECMA-262)
The definition of 'Comma operator' in that specification.
Draft  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Comma operator' in that specification.
Standard  
ECMAScript 5.1 (ECMA-262)
The definition of 'Comma operator' in that specification.
Standard  
ECMAScript 1st Edition (ECMA-262)
The definition of 'Comma operator' in that specification.
Standard Definición inicial

Compatibilidad en navegadores

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) 3.0 (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Ver también

Etiquetas y colaboradores del documento

Etiquetas: 
 Colaboradores en esta página: eduardogm
 Última actualización por: eduardogm,