Cuando en una función tenemos por ejemplo sólo 2 parámetros definidos pero queremos que nos pasen más, podemos usar parámetros rest, estos son:

La salida de este código sería

La diferencia con los parámetros REST es que estos se declaran a la hora de llamar a la función, es decir

Al llamar la función cocinar enviaremos sólo 2 parámetros, dejando uno como undefined pero si le agregamos ... al principio de un parámetro que sea en este caso un array, este se completará, es decir, tendremos los tres parámetros ya que los objetos del array se separan en diferentes parámetros.