TypeScriptの注目の型関連issue
TypeScript Advent Calendarの4日目。
TypeScriptのロードマップを見てもES6対応以外は "Investigate top-rated feature requests" とか書いてあるぐらいで、GitHub Issuesのコメントのやりとりを見ていても割りと流動的に良い提案があったら取り入れる感じで開発を進めている印象。
ということで、GitHub Issuesからおもしろそうなものをいくつか拾って紹介してみる。
続きを読むTypeScriptで複数ファイル構成する2つの方法
TypeScriptで複数ファイル構成のプロジェクトを扱う方法について書いてみる。日本語の入門記事や試してみました系の記事で勘違いされてることがたまに見受けられるので、整理してみる。
公式のModules in TypeScriptを既に読んでおられるような御仁は回れ右していただいても結構です。
続きを読むTypeScriptの宣言空間とその不満
最近TypeScriptの型を触っていてハマったあたりのまとめ。だいたい仕様書に書いてあるとおりなので、すでに仕様書を読破している諸兄にはこの記事は必要ないです。
宣言空間 (declaration space) とは
宣言空間というのは、同一宣言空間で同じ名前が複数存在するとエラーになるような空間のこと。 TypeScriptには大きく分けて3つの宣言空間 (declaration space) がある *1。
どういうことかというと、TypeScriptでは次のコードがエラーにならない。
var M = 0; // 変数宣言空間 interface M {} // 型宣言空間 module M {} // 名前空間宣言空間
変数とinterfaceとmoduleは別々の宣言空間に宣言されるためコンフリクトしない。
*1:詳細はSpecification 2.3 Declarationsを参照
*2:このグループは仕様書ではまとめられていない(と思う)けど、自分の理解としては型と名前空間とは違うそれ以外のJavaScript空間に存在する宣言空間としてひとまとめにした。
*3:クラスのメンバーにはinstanceメンバーとstaticメンバーがある。