
TypeScriptの始め方
環境構築と実行方法(Bun・Node.js・tsx)
TypeScriptの開発環境構築方法を初心者向けに解説。Bun・Node.js(npm)・tsxの実行方法を比較しつつ、最も簡単で高速なBunでの始め方を紹介します。
全8回シリーズ — 目次
1 TypeScriptとは
2 環境構築
3 基本の型
4 関数と型
5 インターフェイス
6 クラス
7 実践的な型
8 便利機能まとめ
🎯 この記事のゴール
この記事のゴール TypeScriptファイル(.ts )を書いて、実際にコンパイル・実行できる状態になること。環境構築で詰まって離脱しないよう、3つのルートを用意しました。 まず「どのルートで始めるか」を決めよう
TypeScriptを動かす方法は複数あります。自分のスタイルに合ったルートを選んでください。どれを選んでも学べる内容は同じです。
Bun
おすすめ
セットアップが最速かつシンプル。.ts をそのまま実行でき、コンパイル手順が不要。
Node.js + npm
定番
情報量が最多で、エラーも検索しやすい。tscによるコンパイルを体系的に学べる。
tsx
軽量追加
既存のNode.jsプロジェクトにtsx を追加するだけ。最小構成で始めたい人向け。
本記事では Bun と Node.js + npm の両方を詳しく解説します。tsxは末尾にまとめてあります。
ルート①:Bun(おすすめ)
BunはJavaScript / TypeScriptランタイムで、.ts ファイルをそのまま実行できます。Node.jsのような「コンパイル → 実行」という二段階が不要で、開発のフィードバックループが非常に速いのが特徴です。
1
Bunをインストール
公式スクリプトまたはパッケージマネージャーで一発インストール。
2
プロジェクトを初期化
bun init でフォルダ構成とtsconfig.json を自動生成。
3
.ts ファイルを書く
index.ts にコードを書くだけ。
4
そのまま実行
bun run index.ts だけで動く。コンパイルステップなし。
# インストール(macOS / Linux)
curl -fsSL https://bun.sh/install | bash
# インストール(Windows — PowerShell)
powershell -c "irm bun.sh/install.ps1 | iex"
# バージョン確認
bun --version
# -> 1.2.9
# プロジェクト作成(対話形式)
mkdir ts-learning && cd ts-learning
bun init
# package name (ts-learning):
# entry point (index.ts):
# Done! A package.json and tsconfig.json were created.bun init を実行すると、以下のファイルが自動生成されます。
ts-learning/
├── index.ts ← ここにコードを書く
├── tsconfig.json ← 自動生成済み
└── package.json Bunでの tsconfig.json
bun init が生成するtsconfig.json はBun向けに最適化されています。内容を確認しておきましょう。
{
"compilerOptions": {
"target": "ESNext", // 最新のJS構文を出力
"module": "ESNext", // ESモジュール形式
"moduleResolution": "bundler", // Bun向けの解決方式
"strict": true, // 厳格な型チェックを有効化
"jsx": "react-jsx" // JSX対応(Reactを使う場合に便利)
}
}🔍 ポイント
Bunはtsconfig.json の内容をランタイム実行時に参照します。コンパイルはしませんが、 エディタの型チェックと補完はきちんと動く ので、TypeScriptの恩恵はそのまま受けられます。 コードを書いて実行してみよう
// ① 変数への型注釈
const message: string = "TypeScript、はじめました!";
const year: number = 2025;
const isReady: boolean = true;
console.log(message, year);
// ② 関数への型注釈(引数と戻り値)
function add(a: number, b: number): number {
return a + b;
}
console.log(add(3, 7)); // → 10
// ③ 配列とオブジェクト
const fruits: string[] = ["apple", "banana", "cherry"];
const user: { name: string; age: number } = {
name: "Taro",
age: 28,
};
console.log(fruits[0], user.name);# .ts をそのまま実行(コンパイル不要)
bun run index.ts
TypeScript、はじめました! 2025
10
apple Taro
# ウォッチモード(ファイル保存で自動再実行)
bun --watch run index.ts🔍 Bunのここが便利
パッケージのインストールもbun add <パッケージ名> で行えます。npm より大幅に高速で、インストール時間が体感できるほど短縮されます。 ルート②:Node.js + npm(定番)
Node.js + npmはTypeScript学習の情報が最も豊富な環境です。tsc (TypeScriptコンパイラ)を直接使うため、「TypeScriptがJavaScriptに変換される」仕組みを体系的に学べます。
1
Node.jsをインストール
公式サイト(nodejs.org)からLTS版をダウンロード。npmも同梱されています。
2
プロジェクトフォルダを作成・初期化
作業ディレクトリを作ってnpm init を実行。
3
TypeScriptをインストール
tsc (TypeScriptコンパイラ)をプロジェクトに追加します。
4
tsconfig.json を生成
TypeScriptの設定ファイルを自動生成します。
5
.ts を書き、コンパイル → 実行
tsc でJSに変換し、node で実行します。
# バージョン確認
node --version
# -> v22.14.0
npm --version
# -> 10.9.2
# プロジェクト作成
mkdir ts-learning && cd ts-learning
npm init -y
# TypeScriptをインストール
npm install --save-dev typescript
# tsconfig.json を生成
npx tsc --init
# -> Created a new tsconfig.json with ... Node.js向け tsconfig.json の設定
生成されるtsconfig.json はオプションが大量にありますが、最初は以下の最小構成で十分です。
{
"compilerOptions": {
"target": "ES2020", // 出力するJSのバージョン
"module": "commonjs", // Node.jsのモジュール形式
"outDir": "./dist", // コンパイル後のJSを出力するフォルダ
"rootDir": "./src", // TypeScriptファイルを置くフォルダ
"strict": true, // 厳格モード(有効にしておくのが吉)
"noEmitOnError": true // エラー時はJSを出力しない
}
}| オプション | 意味 | よく使う値 |
|---|---|---|
| target | 出力するJavaScriptのバージョン | ES2020 / ESNext |
| module | モジュールの形式 | Node.js → commonjs |
| outDir | コンパイル後のJSの出力先 | ./dist |
| rootDir | TSファイルのルートディレクトリ | ./src |
| strict | 厳格な型チェックをまとめて有効化 | true (推奨) |
| noEmitOnError | 型エラーがあればJSを出力しない | true (推奨) |
フォルダ構成とコードを書いて動かそう
ts-learning/
├── src/
│ └── index.ts ← ここにコードを書く
├── dist/ ← tsc が自動生成(最初は存在しない)
├── tsconfig.json
└── package.json Bunと同じコードをsrc/index.ts に書いたら、コンパイルして実行します。
# src/ 以下の .ts を全部コンパイル → dist/ に .js を出力
npx tsc
# 出力されたJSを実行
node dist/index.js
TypeScript、はじめました! 2025
10
apple Taro
# 変更を監視して自動コンパイル(開発中に便利)
npx tsc --watch コンパイルの流れを図で確認
index.ts
TypeScript
→
npx tsc
コンパイラ
→
index.js
JavaScript
→
node .
実行
🔍 よくあるつまずき
tsc でエラーが出てもdist/ にJSが出力されることがあります。tsconfig.json に"noEmitOnError": true を追加すると、エラー時には出力されなくなり安全です。 ルート③:tsx(既存Node.js環境への軽量追加)
すでにNode.jsプロジェクトがある場合、tsx パッケージを追加するだけで.ts をそのまま動かせます。
npm install --save-dev tsx
# tsc なしで直接実行
npx tsx src/index.ts
# ウォッチモード(ファイル保存で自動再実行)
npx tsx --watch src/index.ts📌 第2回のまとめ
環境構築の3ルートを解説しました。 Bun はセットアップ最速でコンパイル不要、 Node.js + npm は情報豊富でtscの仕組みを体系的に学べます。どちらもtsconfig.json で型チェックの設定を管理する点は共通です。次回はいよいよ型の本質、基本の型を深掘りします。📝 ▶ 次のステップ
次は「 」を解説します