違い
- DefinitelyType:
- 「いろいろなライブラリ用のTypeScriptの型定義ファイルを公開しようぜー!」なプロジェクトのこと。
- またはそのプロジェクトによって作られた型定義ファイルのこと。
- flow(日本ではflowtypeと呼ばれることが多いらしい):
- 「JavaScriptで型をチェックできるようにしようぜー!」なプロジェクトのこと。
- Facebookがやってる。
DefinitelyType
例えば、axiosをTypeScriptで使う場合、axios自身が「これが俺の型定義ファイルだよ!」という風に、型定義ファイルをライブラリ内に含めてくれています。
なので、型定義ができます。
しかも、マイナーなライブラリだと、型定義ファイルが用意されていません。
なので、型定義ができません。
でもそんなライブラリでも型定義がしたい!😣
そんな人たちが作ったのがDefinitelyTypeというプロジェクト(というかリポジトリ)。
「ないなら自分で型定義ファイルを作ってしまえ!んでどうせなら他の人も使えるように公開してしまえ!」
な精神で公開されているのがDefinitelyType。
例えば、react-transition-group
というライブラリでは、型定義が用意されていません。
そんなときは、
「react-transition-group DefinitelyType」
などのワードで検索してみて、もし型定義ファイルが公開されているようであれば
npm install --save @types/react-transition-group
を実行すれば、型定義ファイルをインストールすることができます。
flow
TypeScriptが流行る前は、こちらが主流だった(?)みたいですが
今では使われることがほとんどないみたいです。
おわり
コメント