六帖のかたすみ

DVを受けていた男性。家を脱出して二周目の人生を生きています。自閉症スペクトラム(受動型)です。http://rokujo.org/ に引っ越しました。

TypeScript 1.4 with VS2013

easeljs.d.ts を導入して、やったぜタイプセーフwebプログラミング始まる!と思っていたら、導入直後にコンパイルエラーが同時多発で48か所も発生した。

export class AlphaMapFilter extends Filter {
  constructor(alphaMap: HTMLImageElement | HTMLCanvasElement);
  // properties
  alphaMap: HTMLImageElement | HTMLCanvasElement;
  // methods
  clone(): AlphaMapFilter;
}

こういう | で結ばれたのがコンパイルエラーになる。で、このパイプで結ばれたプロパティはなんじゃらほい、見慣れた記号だしどっちの型でもいいってことじゃないかな、と思ってしばらく調べると、TypeScript1.4でサポートされたUnion typesという機能らしい。やはり、どっちの型でもよいという意味だった。VS2013はインストール時TypeScript1.0までしかサポートされていない。しかしつい最近、2015/01/17にアップデート用モジュールがリリースされていた!
TypeScript 1.4 for Visual Studio 2013 extension
インストールしたらコンパイルエラーが絶滅した。やった!
1.0からの大きな変更点は
・protectedのサポート
・tuple typesのサポート:var tuple: [number, string, boolean] = [1, "str", true]; //こういう配列の型定義
・union typesのサポート:前述
・type aliasのサポート:declare type PropertyKey = string | number | Symbol; //PropertyKeyは3つのいずれかの型をとる
このくらいか。日々バージョンアップが繰り返されており、今後も目が離せない。