TypeScriptのエラー “Parameter cannot have question mark and initializer.”

JavaScriptが苦手すぎて、最近、TypeScriptを使ってます。型のカチッとした言語でないと書くのがつらくなってきました。

スクリーンショット 2013-11-19 21.41.46

そんな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も試してみたいです。

About katty0324

Scroll To Top