MENU

【2025年】TypeScript入門ガイド|JavaScriptから移行する方法

typescript basics 2025 optimized

「TypeScript、学んだ方がいいの?」と悩んでいませんか?

現役WEBエンジニアとして、TypeScriptを日々使っています。

この記事では、TypeScriptの基本を解説します。

目次

TypeScriptとは

簡単に言うと

  • JavaScriptに型を追加した言語
  • コンパイル時にエラーを検出
  • 大規模開発に適している

なぜ学ぶべきか

メリット 詳細
バグ削減 型エラーを事前検出
補完が効く IDEの支援が強力
可読性向上 型が仕様書になる
求人増加 必須スキル化

環境構築

インストール

# グローバルインストール
npm install -g typescript

# バージョン確認
tsc --version

プロジェクト初期化

# 初期化
tsc --init

# tsconfig.json が生成される

基本的な型

プリミティブ型

// 文字列
let name: string = "田中";

// 数値
let age: number = 30;

// 真偽値
let isActive: boolean = true;

// null / undefined
let nothing: null = null;
let notDefined: undefined = undefined;

配列

// 配列
let numbers: number[] = [1, 2, 3];
let names: Array<string> = ["田中", "鈴木"];

オブジェクト

// オブジェクト型
let user: { name: string; age: number } = {
  name: "田中",
  age: 30
};

// インターフェース
interface User {
  name: string;
  age: number;
  email?: string; // オプショナル
}

let user2: User = {
  name: "鈴木",
  age: 25
};

関数の型

基本的な書き方

// 関数の型定義
function add(a: number, b: number): number {
  return a + b;
}

// アロー関数
const multiply = (a: number, b: number): number => {
  return a * b;
};

// 戻り値なし
function log(message: string): void {
  console.log(message);
}

便利な型

Union型

// 複数の型を許容
let id: string | number = "abc";
id = 123; // OK

型エイリアス

// 型に名前をつける
type ID = string | number;

let userId: ID = "abc";

ジェネリクス

// 汎用的な型
function getFirst<T>(arr: T[]): T {
  return arr[0];
}

const first = getFirst<string>(["a", "b", "c"]);

よくある型定義

APIレスポンス

interface ApiResponse<T> {
  data: T;
  status: number;
  message: string;
}

interface User {
  id: number;
  name: string;
}

const response: ApiResponse<User> = {
  data: { id: 1, name: "田中" },
  status: 200,
  message: "success"
};

JavaScriptからの移行

ステップ

  1. .js.ts にリネーム
  2. 型エラーを修正
  3. anyを使いすぎない
  4. 徐々に型を厳密に

移行のコツ

  • 一気にやらない
  • strict: falseから始めてもOK
  • 新規ファイルからTypeScriptで

まとめ

TypeScript入門のポイント:

  1. 基本的な型を覚える
  2. インターフェースで構造を定義
  3. Union型で柔軟に
  4. 徐々に移行する

関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次