TypeScript 関数の型とモジュールの型定義
関数の型宣言
戻り値は型推論で省略可能だが、引 数は必ず指定する必要がある
関数の引数のかっこのすぐ後ろに型を書く
> const add = (n: number, m: number): number => n + m; > add(1, 3); 4 > function subtr(n: number, m: number): number { return n - m; } > subtr(5, 4); 1 > const hello = (): void => { console.log('Hello!') }; > hello(); Hello!
モジュールの型定義
TypeScriptでも拡張子 .d.ts の型定義ファイルさえ用意すれば TypeScript にインポートしてnpmのJavaScript製モジュールを使える。 モジュール自体にそういったtypescript用の定義ファイルが用意されている場合もある。
ない場合はDefinitlyTypedプロジェクトはそういったモジュールごとの型定義ファイルを有志のユーザーたちが作って公開している。
探す方法は npm公式サイトで お目当てのnpm のモジュール名の頭に @types/ をつけて検索すると出る。 例: @types/react-router
あるいは ターミナルで以下を実行しても出てくる。
yarn info @types/react-router
ただ、あくまで有志による第三者による非公式のものなので、動作 が完全には保証されてない。 またオリジナルのバージョン更新についていけて なくて、最新版に対応していないこともある。