Open6

TypeScriptの仕組み

暇人エンジニア暇人エンジニア

ソースコード記述
→ コンパイル(トランスパイル)
→ 型チェック
→ 実行

暇人エンジニア暇人エンジニア

トランスパイルとは、コンパイルとトランスレーションを組み合わせた造語

コンパイル

  1. 高水準プログラミング言語で書かれたソースコードは、そのままでは解釈実行することができない
  2. コンパイルにより機械語やそれに近い低水準な言語のオブジェクトコードに変換され実行

トランスパイルとは

  1. 機械語への変換を行わない(→ 別の高水準の言語のソースコードへ変換)
  2. 変換後の言語は変換後の言語の処理系によりオブジェクトコードへ変換され実行

コンパイル 言語 → 機械語
トランスパイル 言語 → 別の言語へ変換 → (それぞれの言語の処理方法で)処理

https://e-words.jp/w/トランスパイル.html

暇人エンジニア暇人エンジニア

TypeScriptはJavaScriptに変換して利用されるため、コンパイルという言葉が使われていても広義ではトランスパイルと言えそう

暇人エンジニア暇人エンジニア

Node.jsとはそもそもなんなのか

Node.jsはただのJavaScript実行環境。
JavaScriptをただ実行するアプリケーション
Node.jsがないとOS機能へのアクセスができない → ファイル読み書き

暇人エンジニア暇人エンジニア

パッケージ管理ツールとは
パッケージ管理ツールは、ソフトウェア開発においてライブラリやモジュール(パッケージ)の取得、インストール、更新、依存関係の管理を自動化するためのシステム。

暇人エンジニア暇人エンジニア

TypeScriptでのパッケージ管理ツール
npm, pnpm, yarn

  • yarn
    • npmより早い
    • 現在ではnpm側にyarnの機能がほとんど取り込まれほぼ差異なし
  • pnpm
    • メモリ効率が良い
    • npmより早い