コース一覧
JavaScriptをTypeScriptへ移行する
tsconfigのきほん

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へ移行する

tsconfigのきほん

設定ファイルは 1 枚だけ

TypeScript のプロジェクトには tsconfig.json という設定ファイルが 1 枚あります。tsc はこのファイルを読んで、どのファイルを、どのくらい厳しく検査するかを決めます。

最小限だと、これくらいの中身です。

JSON

{ "compilerOptions": { "target": "ES2020", "strict": true } }

項目はたくさんありますが、いま覚える価値があるのは strict の 1 つだけです。

strict は厳しさのまとめスイッチ

strict は単独の設定ではなく、細かい検査をまとめて入り切りするスイッチです。中でも効くのが次の 2 つです。

1 つ目は noImplicitAny です。型を書かなかった引数が黙って any になるのを禁止します。2 つ目は strictNullChecks です。null や undefined が入るかもしれない値を、そのまま使うのを禁止します。

このコースはずっと strict を on にした状態で進めてきました。第1章から「引数に型が無いとエラーになる」と言ってきたのは、この設定のおかげです。

off と on で見比べる

同じコードが、設定ひとつでこれだけ変わります。

TypeScript

function workLabel(title, count) { return title + "ほか" + count + "件"; } const nickname: string | null = null; console.log(nickname.trim());

strict が off のときは、どちらの行も何も言われません。title と count は any になり、nickname.trim() は実行時に落ちます。

strict を on にすると、その場で 3 つ指摘されます。

プレーンテキスト

Parameter 'title' implicitly has an 'any' type. Parameter 'count' implicitly has an 'any' type. 'nickname' is possibly 'null'.

どれも、off のときは動いてから壊れていた事故です。

最初から on にしておく

新しく作るプロジェクトは、必ず strict: true で始めてください。あとから on にすると、それまでに書いたコード全部からエラーが噴き出して、手が付けられなくなります。

逆に、すでにある JavaScript を移していく場合は、一時的に緩めることもあります。その進め方が次のレッスンの話です。

手を動かす

手元のエディタで tsconfig.json の strict を false にして、上のコードを貼ってみてください。赤い波線が消えます。そのあと true に戻して、波線が戻ることを確かめます。型がどこまで守ってくれるかは、自分で決められる、というのが今回の要点です。

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

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

  • TypeScript静的型を加えた JavaScript の上位互換
  • 引数位置引数=順番で渡す。
  • JavaScriptWeb で動的な振る舞いを担う言語
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/08/06

関連レッスン

  • 移行の進め方

    対象ファイルの移行計画を書き、JavaScriptからTypeScriptへの手順を立てられるようになります。

  • データ層のTS化

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

  • 関数のTS化

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

  • 型エラーを潰す

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

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

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