Operador Coma

Resum

L'operador coma avalua cadascun dels seus operands (d'esquerra a dreta) i retorna el valor de l´últim operand.

Sintaxi

expr1, expr2, expr3...

Paràmetres

expr1, expr2, expr3...
Qualsevol expressions.

Descripció

Es pot fer servir l'operador coma quan es vulgui incloure múltiples expressions en una localització que requereix una sola expressió. L'ús més freqüent que es fa d'aquest operador es per subministrar múltiples paràmetres en una for loop.

Exemple

Si a és un array de 2 dimesnions amb 10 elements on a side, el codi següent usa l'operador coma per incrementar dos variables al mateix temps. Vegeu que la coma en la sentència var no  és l'operador coma, ja que no existeix dins d'una expressió. Més aviat, és un caràcter especial en les sentències var que combina múltiples d'ells en un. Pràcticament, la coma es comporta quasi igual que l'operador coma. El codi imprimeix els valors dels elements de la diagonal de l'array:

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

Processar i després retornar

Un altre exemple sobre l'ús que es pot fer sobre l'operador coma és processar abansd e retornar. Com s'indica, només l'últim element serà retornat, però tots els altres també seràn avaluats. Així doncs, es podria fer:

function myFunc () {
  var x = 0;

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

Especificacions

Especificació Estat Comentari
ECMAScript 1st Edition. Estàndard Definició inicial.
ECMAScript 5.1 (ECMA-262)
The definition of 'Comma operator' in that specification.
Standard  
ECMAScript 6 (ECMA-262)
The definition of 'Comma operator' in that specification.
Release Candidate  

Compatibilitat amb navegadors

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suport bàsic 3.0
Característica Android Chrome per Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suport bàsic

Vegeu també

Document Tags and Contributors

 Contributors to this page: teoli, enTropy, llue
 Last updated by: teoli,