TypeScript Created: 2026/04/16 Updated: 2026/04/30

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 だけで動く。コンパイルステップなし。

bash
# インストール(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向けに最適化されています。内容を確認しておきましょう。

json
{
  "compilerOptions": {
    "target":     "ESNext",      // 最新のJS構文を出力
    "module":     "ESNext",      // ESモジュール形式
    "moduleResolution": "bundler", // Bun向けの解決方式
    "strict":     true,          // 厳格な型チェックを有効化
    "jsx":        "react-jsx"    // JSX対応(Reactを使う場合に便利)
  }
}

🔍 ポイント

Bunはtsconfig.json の内容をランタイム実行時に参照します。コンパイルはしませんが、 エディタの型チェックと補完はきちんと動く ので、TypeScriptの恩恵はそのまま受けられます。

コードを書いて実行してみよう

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);
bash
# .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 で実行します。

bash
# バージョン確認
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 はオプションが大量にありますが、最初は以下の最小構成で十分です。

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 (推奨)

フォルダ構成とコードを書いて動かそう

text
ts-learning/
├── src/
│   └── index.ts     ← ここにコードを書く
├── dist/            ← tsc が自動生成(最初は存在しない)
├── tsconfig.json
└── package.json

Bunと同じコードをsrc/index.ts に書いたら、コンパイルして実行します。

bash
# 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 をそのまま動かせます。

bash
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 で型チェックの設定を管理する点は共通です。次回はいよいよ型の本質、基本の型を深掘りします。

📝 ▶ 次のステップ

次は「 」を解説します
TypeScriptの基本の型を徹底解説|string・number・booleanから理解する
TypeScript

TypeScriptの基本の型を徹底解説|string・number・booleanから理解する

TypeScriptの基本の型(string・number・boolean・arrayなど)を初心者向けにわかりやすく解説。型の書き方や役割を理解し、TypeScriptの基礎をしっかり身につけましょう。