2013年7月27日土曜日

TypeScript; get/set アクセサーをVS2012で対応する方法

VS2012でTypeScriptコードを記述中にアクセサーを使うと
Accessors are only when targeting EcmaScript5 and higher
とエラーを吐いて拗ねられる。こちらが拗ねたくなる。

この問題は作業中のVS2012のプロジェクトファイルの内部でTypeScriptの翻訳ターゲットがES3に設定されている場合に生じる。デフォルトでES3なのでたいていの一度は遭遇するトラブルだと思う。

TypeScriptプロジェクトの.csprojを適当なテキストエディターで開き、"ES3"の文字列で検索すると手っ取り早く該当箇所に辿り着ける。ビルドプロパティの<TypeScriptTarget>の値をES3からES5に書き換えればアクセサーについてVS2012がエラーを吐く事はなくなる。


もちろん、これをやると出力される.jsがES5レベルになるが、今時ES3レベルにしか対応していない環境向けにTypeScriptでコードを書く事も無いのでは、と思ったり。デフォルトES5で良いよね・w・

参考: Problem targeting ES5 with “HTML5 Application with TypeScript” project. - Adventures of an MVC Developer

0 件のコメント:

コメントを投稿