ActionScript 3では、オプションのブール引数を受け入れる関数を定義するクリーンな方法はありますか?ご存知かもしれませんが、これは無効です:
public function test(param:Boolean = null):void {
trace(param);
}
これにより、次のエラーがトリガーされます。VerifyError:エラー#1102:ブール型のデフォルト値が無効です。はプリミティブなので、Boolean
に設定できないのは理にかなっていると思いますnull
。私が見つけた唯一の回避策は、パラメーターをオブジェクトにキャストすることです。
public function test(param:Object = null):void {
trace(Boolean(param));
}
ただし、特にライブラリを開発している場合、これはあまりクリーンに感じられません。ASDocは、期待されるパラメータがであるのObject
に対し、実際に必要なのはであるというAPIドキュメントを生成しますBoolean
。
より良いアプローチはありますか?