function [name]([param1[, param2[, ..., paramN]]]) {
   statements
}

の引数部分([param1[, param2[, ..., paramN]]])を理解できず悩んでいます。

この部分をparam1,param2,・・・,paramNと表現しないのはなぜなのでしょうか。

もしかして、[param1[, param2[, ..., paramN]]]param1,param2,・・・paramNは別物なのでしょうか。

初心者のためか2週間必死にWebを探し続けましたが
納得できる情報にたどり着けませんでしたので
質問をさせて頂く事に致しました。

どうぞよろしくお願いいたします。