TypeScript は「型のある JavaScript」です。大規模開発で採用が急増しているこの言語が、なぜ支持されるのか。JavaScript との違いと、型がもたらす安心感を具体例で解説します。
TypeScript は Microsoft が開発した言語で、JavaScript に「静的型付け」を加えたものです。JavaScript の文法をそのまま使え、最終的には JavaScript に変換(コンパイル)されて動きます。つまり JavaScript ができれば、その延長として学べます。
JavaScript は変数にどんな値でも入れられます。便利な反面、実行するまで間違いに気づけません。
// JavaScript
let age = 25;
age = "二十五"; // エラーにならない(実行時に事故る)
TypeScript は型を宣言でき、間違いを書いた瞬間にエディタが警告してくれます。
// TypeScript
let age: number = 25;
age = "二十五"; // ❌ 型エラー:数値に文字列は入れられない
let name: string = "Taro";
let count: number = 10;
let active: boolean = true;
let scores: number[] = [80, 95, 70];
引数と戻り値の型を明示することで、呼び出し側のミスを防げます。
function add(a: number, b: number): number {
return a + b;
}
add(1, 2); // OK
add(1, "2"); // ❌ 型エラー
オブジェクトの構造をあらかじめ決めておけます。API のレスポンスなど、複雑なデータを扱うときに絶大な効果があります。
interface User {
id: number;
name: string;
admin?: boolean; // ? は省略可能
}
const u: User = { id: 1, name: "Hanako" };
TypeScript(.ts)は tsc コマンドで JavaScript(.js)に変換されて実行されます。ブラウザや Node.js が直接理解するのは変換後の JavaScript です。
tsc index.ts # index.js が生成される
TypeScript は JavaScript の書き味を保ちつつ、型による安全性と開発効率を手に入れられる言語です。小さなプロジェクトから型注釈を少しずつ足していくだけでも、その恩恵を実感できます。