この章では、コードベースをJavaScriptからTypeScriptに移行するための戦略の概要を説明します。また、さらに詳しい情報への参照も記載しています。
TypeScriptに移行するための3つの戦略をご紹介します。
コードベースでJavaScriptファイルとTypeScriptファイルの混在をサポートできます。最初はJavaScriptファイルのみで開始し、徐々にTypeScriptファイルに移行していきます。
現在の(TypeScriptではない)ビルドプロセスとJavaScriptのみのコードベースを維持できます。JSDocコメントを介して静的型情報を追加し、TypeScriptを型チェッカーとして(コンパイラとしてではなく)使用します。すべてが正しく型付けされたら、ビルドにTypeScriptを使用するように切り替えます。
大規模プロジェクトの場合、移行中にTypeScriptエラーが多すぎる場合があります。その場合、スナップショットテストは、修正されたエラーと新しいエラーを見つけるのに役立ちます。
詳細情報
TypeScriptコンパイラは、コンパイラオプション`--allowJs`を使用する場合、JavaScriptファイルとTypeScriptファイルの混在をサポートします。
最初はJavaScriptファイルのみです。その後、1つずつTypeScriptファイルに切り替えていきます。その間、コードベースはコンパイルされ続けます。
`tsconfig.json`はこのようになります。
{
"compilerOptions": {
···
"allowJs": true
}
}
詳細情報
このアプローチは次のように機能します。
JSDocコメントを介してプレーンJavaScriptに静的型を指定する方法は次のとおりです。
/**
* @param {number} x - The first operand
* @param {number} y - The second operand
* @returns {number} The sum of both operands
*/
function add(x, y) {
+ y;
return x }
/** @typedef {{ prop1: string, prop2: string, prop3?: number }} SpecialType */
/** @typedef {(data: string, index?: number) => boolean} Predicate */
詳細情報
大規模なJavaScriptプロジェクトでは、どのアプローチを選択しても、TypeScriptへの切り替えによってエラーが多すぎる場合があります。その場合、TypeScriptエラーのスナップショットテストが選択肢となるかもしれません。
詳細情報
TypeScriptに移行するための戦略を簡単に見てきました。さらに2つのヒントをご紹介します。