AS3のFunction

引数にデフォルト値を持てるようになった

AS3のFunctionは、引数にデフォルト値を持てるようになった。
デフォルトの値を割り当てた引数はオプションになり、
割り当てられなかった引数は必須引数になる。
必須引数が渡されない場合はコンパイルエラーとなる。

書式は以下の通り。


function defaultValues(x : inty : int = 3, z : int = 5) : void
{
    trace(x, y, z);
}
defaultValues(1); // 1 3 5

注意その1

デフォルト値を持つ引数は、引数リストの末尾に記述しなければならない。

function defaultValues(x : int = 3, y : int = 5, z : int) : void
{
    trace(x, y, z);
}
defaultValues(1); 

//    output
//    末尾がデフォルト値を持たない引数なので、コンパイルエラー

注意その2

デフォルト値として割り当てられる値は、コンパイル時定数でなければならない。
(実行時に生成される値は不可)


function defaultValues(a : Array = []) : void
{
    trace(a);
}
defaultValues(["a""b"]); 

//    output
//    デフォルト値が実行時に生成される値なので、コンパイルエラー

カテゴリー: AS3fromAS2 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です