何にビックリしたか、というお話。dump(o:Object,...rest):Stringとなっていた。なんていう感じで意識していたが最近はすっかり忘れていた。参照渡しを使わずにコーディングしてたんだなぁ。値渡し引数をコピーする。関数内で代入された値は関数内でのみ有効で、関数外には影響がない。値を戻してやる必要がある。参照渡し引数の参照を渡す。関数内でその引数(変数)を操作すると、それが全体に反映される。関数:関数パラメータを読んでいて「値渡し」と「参照渡し」について再認識した。プリミティブ型は「「値渡し」オブジェクト型は「参照渡し」なのだそうだ。引数は受け取る側でデフォルト値を設定できる。これによって、呼び出し時に引数を省略した場合は、デフォルト値が用いられる。新機能なんだそうで、これまたビックリ。引数オブジェクト(配列)私は「オブジェクト」という言葉にどうも慣れなくて、ついつい「配列」をイメージしてしまう。これは早く直さないとなぁ。脱線してしまったが、本題はここから。受け取り引数をオブジェクト化できる(してある)。具体的には、以下のように書くことができる。パラメータの2種類の用法があるが、同時に用いることはできない。オブジェクトは、関数に渡されるすべてのパラメータを含む配列です。プロパティは、関数に渡されるパラメータの数を報告します。プロパティを使用すると、関数自体を参照することができます。これは関数式の再帰呼び出しに便利です。以下のように宣言なしでいきなり利用可能。これならば、引数の一括処理が可能。このコードを試してみたけど「引数の数が合わない」と怒られた。いう名称の変数は使わないようにする。パラメータと呼ばれる新しいパラメータ宣言を導入しています。このパラメータを使用すると、任意の数のカンマ区切りのパラメータを受け入れる配列パラメータを指定できます。パラメータには、予約語ではない名前を指定することができます。このパラメータ宣言は、指定される最後のパラメータである必要があります。オブジェクトにアクセスできなくなります。ような機能はありません。使用する必要はありません。部分は予約語以外なら好きに命名してよい。この方法なら、呼び出し時に設定する引数の個数が可変になる。1つの関数で、場合によっては引数3つ、別の場合は5つなんていうことが可能。引数の個数が可変なのだ。