Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TypeScript のコンパイル

Avatar for Jeongmin LEE Jeongmin LEE
September 13, 2025
4

TypeScript のコンパイル

Avatar for Jeongmin LEE

Jeongmin LEE

September 13, 2025
Tweet

Transcript

  1. TypeScript コンパイラー(tsc)の仕事 (2) JSへの変換 TypeScript で言うコンパイルは「型チェック」+「JSへの変換」(高水準 → 低水準ではない) ChatGPT-5 に

    TS のコンパイルについて聞くと頑なにトランスパイルって言ってるのが面白い *トランスパイル:プログラミング言語 → 別のプログラミング言語
  2. 󰢨 JavaScript はインタプリタ言語ですか? 現代の JavaScript はインタプリタ&コンパイル両方やります。 元々 JavaScript はインタプリタ言語 WEBの進化が激しく、どんどんリッチなUIが登場

    インタプリタだけだと実行が遅い! インタプリタで即実行しつつ、よく走る箇所は JITコンパイル(実行中にコンパイル)して性能改善 *JIT = Just in Time の略
  3. 󰢨 JavaScript はインタプリタ言語ですか? 現代の JavaScript はインタプリタ&コンパイル両方やります。 元々 JavaScript はインタプリタ言語 WEBの進化が激しく、どんどんリッチなUIが登場

    インタプリタだけだと実行が遅い! インタプリタで即実行しつつ、よく走る箇所は JITコンパイル(実行中にコンパイル)して性能改善 だから JS ファイルを即実行できる *JIT = Just in Time の略
  4. 特異点がある BuildTime RunTime (1) 開発する (2) ビルドする (3) 実行する *ビルド:コードを実行可能な形式に変換する作業

    実行時は JS ファイルさえあれはOK! TypeScript とか型とかそんなの知らない ビルドの時に何が起きようがどうでもいい
  5. 特異点がある BuildTime RunTime (1) 開発する (2) ビルドする (3) 実行する *ビルド:コードを実行可能な形式に変換する作業

    実行時は JS ファイルさえあれはOK! TypeScript とか型とかそんなの知らない ビルドの時に何が起きようがどうでもいい この場合ビルドタイムとランタイムが 疎結合(Loose Coupling)だと言える *)疎結合:部品同士の依存が弱く独立している状態