`x = y, z` atribuição de vírgula em JavaScript [duplicado]

Duplicata Possível:
Sintaxe de JavaScript: o que significa vírgula?

Me deparei com o código durante a leituraEste artigo (faça umCtrl+F procurar porAndre Breton):

//function returning array of `umbrella` fibonacci numbers
function Colette(umbrella) {
  var staircase = 0, galleons = 0, brigantines = 1, armada = [galleons, brigantines], bassoon;
  Array.prototype.embrace = [].push;

  while(2 + staircase++ < umbrella) {
    bassoon = galleons + brigantines;
    armada.embrace(brigantines = (galleons = brigantines, bassoon));
  }

  return armada;
}

O que faz ox = (y = x, z) construir significa? Ou mais especificamente, o que oy = x, z significar? Eu estou chamando de atribuição de vírgula porque se parece com atribuição e tem uma vírgula.

Em Python, isso significava que a tupla desempacotava (ou empacotava neste caso). É o mesmo caso aqui?

questionAnswers(3)

yourAnswerToTheQuestion