¿Qué hace una coma en las expresiones de JavaScript?

Si yo uso:

1.09 * 1; // returns "1.09"

Pero si uso:

1,09 * 1; // returns "9"

Sé que 1,09 no es un número.

¿Qué hace la coma en el último fragmento de código?

Más ejemplos
if (0,9) alert("ok"); // alert
if (9,0) alert("ok"); // don't alert
alert(1); alert(2); alert(3); // 3 alerts
alert(1), alert(2), alert(3); // 3 alerts too
alert("2",
    foo = function (param) {
        alert(param)
    },
    foo('1')
)
foo('3'); // alerts 1, 2 and 3

Respuestas a la pregunta(5)

Su respuesta a la pregunta