TypeScript Academy · レッスン

TypeScript の JavaScript へのコンパイル

TypeScript コンパイラーと、その出力を理解します。

レッスン 3/413 ステップ

「TypeScript の JavaScript へのコンパイル」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全4レッスンが含まれています。

ようこそ

TypeScriptはNode.jsやブラウザーで直接実行できません。まずJavaScriptにコンパイルする必要があります。このレッスンでは、TypeScriptコンパイラーの仕組みを学びます。

TypeScriptコンパイラーのインストール

TypeScriptをプロジェクトの開発依存関係としてインストールしてください。インストール後は、ローカルスクリプトで `tsc` コマンドを使用できるようになります。
npm install --save-dev typescript
npx tsc --version

初めてのtscコンパイル

`tsc hello.ts` を実行すると、単一のファイルをコンパイルできます。すべての型が取り除かれた `hello.js` が同じディレクトリに生成されます。
// hello.ts
function greet(name: string): string {
  return 'Hello, ' + name;
}
console.log(greet('World'));

// Compile: npx tsc hello.ts
// Output: hello.js (no types)

tsconfig.json: プロジェクト設定

実際のプロジェクトでは `tsconfig.json` が必要です。`tsc --init` を実行して生成してください。target、module、strictness、出力先ディレクトリなどを制御します。
npx tsc --init
// Creates tsconfig.json with defaults and comments

主要なtsconfigオプション

tsconfigで最も重要なフィールドは、target(出力するESバージョン)、module(モジュールシステム)、outDir(出力フォルダー)、strict(すべての厳格なチェックを有効化)です。
{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs",
    "outDir": "./dist",
    "strict": true
  }
}

tsc --watchによるウォッチモード

TypeScriptファイルを保存するたびに自動で再コンパイルするには、`tsc --watch` を実行します。これにより開発サイクルが速くなります。
npx tsc --watch
// Watches for changes and recompiles on save

noEmit: ファイルを生成せずに型チェック

`noEmit` フラグを使うと、出力ファイルを書き込まずに型チェッカーを実行できます。実際のコンパイルにViteやesbuildなどのバンドラーを使うCIパイプラインで便利です。
// tsconfig.json
{ "compilerOptions": { "noEmit": true } }

// Then run:
npx tsc --noEmit

より高速な選択肢: ts-nodeとtsx

開発時には、`ts-node` やより高速な `tsx` ツールを使って、別途コンパイルすることなくTypeScriptを直接実行できます。
# Run TS directly with ts-node
npx ts-node src/index.ts

# Or faster with tsx
npx tsx src/index.ts

デバッグ用のソースマップ

`sourceMap: true` を有効にすると、ブラウザーの開発者ツールやNode.jsデバッガーで、コンパイル後のJSの行を元のTypeScriptソースに対応付けられます。
{ "compilerOptions": { "sourceMap": true } }

宣言ファイル (.d.ts)

`declaration: true` を設定すると、コンパイラーは `.d.ts` ファイルも生成します。これにより、ほかのTypeScriptプロジェクトが完全な型情報付きでライブラリを利用できます。
{ "compilerOptions": { "declaration": true } }
// Outputs: dist/index.js AND dist/index.d.ts

コンパイラーエラーがあってもデフォルトでは出力される

デフォルトでは、TypeScriptに型エラーがあっても `tsc` はJavaScriptを出力しますが、ゼロ以外の終了コードを返します。エラー発生時の出力を停止するには、`noEmitOnError: true` を使用します。
{ "compilerOptions": { "noEmitOnError": true } }

確認問題

`tsc --noEmit` を実行すると何が行われますか?

まとめ

TypeScriptコンパイラーは.tsファイルをJavaScriptに変換します。tsconfig.jsonで設定し、開発時には--watch、型チェックだけを行う場合は--noEmitを使用します。TypeScriptを直接実行するにはts-node/tsxを使います。
無料で開始

AI チューターと学ぶ TypeScript — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
101
レッスン
352

よくある質問

「TypeScript の JavaScript へのコンパイル」レッスンは無料ですか?

はい。「TypeScript の JavaScript へのコンパイル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全4レッスンが含まれています。

「TypeScript の JavaScript へのコンパイル」で何を学びますか?

TypeScript コンパイラーと、その出力を理解します。 ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

TypeScript Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「TypeScript の JavaScript へのコンパイル」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このTypeScript Academyレッスンでコードを書いて実行できますか?

はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. JavaScript の難所: 実行時バグ
  2. TypeScript が JavaScript に加えるもの
  3. TypeScript の JavaScript へのコンパイル
  4. プロジェクトで TypeScript を使うタイミング
← TypeScript Academyに戻る