JavaScriptが苦手すぎて、最近、TypeScriptを使ってます。型のカチッとした言語でないと書くのがつらくなってきました。
そんなTypeScriptについて初めて書くブログは小さなエラーの対処方です。
メソッドの定義エラー
こんなエラーが出ました。
Parameter cannot have question mark and initializer.
これはメソッドの定義を次のように書いたために出ました。
// エラー
private execute(methodName:string, arguments?:Array = new Array()):void {
}
正しくはこうでした。
// コンパイルできる
private execute(methodName:string, arguments:Array = new Array()):void {
}
何が違うかというと、arguments引数の後ろのクエスチョンマークです。
TypeScriptでは、引数名にクエスチョンマークをつけると、オプショナルな引数という扱いになります。しかし、デフォルト値を指定するときは、クエスチョンマークをつけてはいけないそうです。
TypeScriptは楽しいです。
TypeScriptを使ったら、WEBのフロントエンドの実装が苦痛でなくなったので、おすすめです。他のaltJSも試してみたいです。
コメント
[…] TypeScriptのエラー “Parameter cannot have question mark and initializer.” […]