コース一覧
JavaScriptをTypeScriptへ移行する
移行の進め方

JavaScriptをTypeScriptへ移行する

tsconfigとstrict設定、移行順序、データ層・関数・DOMの型付け、型エラーの解消を通して、既存JavaScriptを段階的にTypeScriptへ移行する全9レッスンの実践プロジェクトです。完成済みのプロフィールサイトを止めずに、ファイル単位で安全なTypeScriptへ置き換えます。

1
実践 JSをTSに移行する
0. tsconfigのきほん10分
1. 移行の進め方10分
2. データ層のTS化15分
3. 関数のTS化15分
4. 型エラーを潰す15分
5. DOMと型15分
6. つくる - 丸ごとTS化完了20分
7. 自由移行20分
8. 完成と次のステップ10分

JavaScriptをTypeScriptへ移行する

01tsconfigのきほん
02移行の進め方
03データ層のTS化
04関数のTS化
05型エラーを潰す
06DOMと型
07つくる - 丸ごとTS化完了
08自由移行
09完成と次のステップ

JavaScriptをTypeScriptへ移行する

移行の進め方

全部いっぺんには変えない

この章では、React入門で書いた JavaScript のコードを TypeScript に移します。動いているものを触るので、手順が要ります。

いちばんやってはいけないのが、全ファイルの拡張子を一度に .ts へ変えることです。エラーが何百件も出て、どれが本当のバグでどれが型の書き忘れなのか分からなくなります。

依存の下から順に上げる

順番は、他のファイルに頼っていないものからです。ポートフォリオのコードなら次の順になります。

1 番目はデータです。作品一覧やプロフィールの中身で、何も import していません。2 番目はユーティリティ関数です。データの形は使いますが、画面は知りません。3 番目が画面まわりです。データにも関数にも頼っています。

下から上げていくと、上のファイルを移すころには、下の型がもう決まっています。逆順にすると、決まっていない型を仮置きしながら進むことになり、二度手間です。

1 ファイルずつ、型を付けてから中身

1 ファイルの中でも手順は同じです。第1章のつくる回でやった順番を、そのまま大きくするだけです。

プレーンテキスト

1. 拡張子を .js から .ts に変える 2. 引数と、外に出す値に型を付ける 3. tsc が出したエラーを上から 1 つずつ読む 4. エラーが 0 件になったら次のファイルへ

手順 2 と 3 を入れ替えないでください。先に中身を直そうとすると、何を直したのか型が教えてくれません。型を付けてから初めて、機械が間違いを探し始めます。

any は逃げ道として使ってよい

移行中、どうしても型が決まらない箇所が出てきます。そこは一時的に any を置いて先に進んでかまいません。

TypeScript

// TODO 移行中の仮置き。あとで Work[] にする const rawWorks: any = loadWorks();

ただし必ず印を残します。印の無い any は、二度と直されないまま残ります。移行が終わったあとに any を検索して、1 つずつ潰していくのが最後の仕事です。

進み具合が見えるようにする

対象のファイルを並べて、済んだかどうかを記録しておくと止まりません。

プレーンテキスト

data/works.js -> works.ts 済 data/profile.js -> profile.ts 済 utils/format.js -> format.ts 未 utils/count.js -> count.ts 未

何件中何件が終わったのかが見えていると、途中でやめにくくなります。この一覧そのものは、この章の最後の演習でもう一度出てきます。

手を動かす

自分の手元にある JavaScript のファイルを 4 つか 5 つ選んで、上の形の一覧を書いてみてください。並べる順番は、他のファイルに頼っていないものが先です。次のレッスンから、その 1 行目にあたるデータ層を実際に移します。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • JavaScriptWeb で動的な振る舞いを担う言語
  • TypeScript静的型を加えた JavaScript の上位互換
  • 関数処理に名前を付けて再利用できる単位
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/08/06

関連レッスン

  • データ層のTS化

    React入門のデータ層を移行し、Workの配列とProfileに型を通します。

  • 関数のTS化

    ユーティリティ関数を移行し、ロジックに型を通します。

  • 型エラーを潰す

    移行で出た型エラーを全部読み解いて解消し、エラーメッセージを自力で直せるようになります。

  • DOMと型

    フォーム取得のコードに型を付け、DOM操作の型を扱えるようになります。

分からないところは Tap (AI先生) に質問できます

24 時間いつでも、あなたのレベルに合わせて日本語で答えます。