Typescrptとは?

未分類

🚀 TypeScriptってどんな言語?

JavaScriptに“型(Type)”という魔法のアイテムをプラスして、
大規模プロジェクトでも安心して戦えるスーパーツール。
最終的にはJavaScriptに変換されるので、どんな環境でもそのまま動いちゃいます!


🎯 型があると何が嬉しい?

  1. バグの予防線
    実行前に「そこは文字列じゃないよ!」と教えてくれるので、思わぬ落とし穴にハマらない。
  2. 開発はカーナビ付き
    VS Codeなどのエディタが「ここには数字が必要です」「この関数は文字列を返します」とアシスト。
  3. コードがドキュメント化
    型を書けば、そのまま「どう使うか」の説明書に。
  4. チーム開発の心強い味方
    「あの変数、何が入るんだっけ?」が激減し、コードの理解度がグッとアップ。

🛠️ よく使う“型”いろいろ

それでは、実際に例を見ながらTypeScriptの型をざっくり解説!


1. プリミティブ型(基本型)

let name: string = "Alice";    // 文字列
let age: number   = 30;        // 数値
let isAdmin: boolean = false;  // 真偽値

ポイント: JavaScriptだと何でも入れられた変数に、それぞれ「これは文字列ですよ!」とラベルを貼ります。


2. 配列型

let scores: number[]      = [100, 85, 90];
let fruits: Array<string> = ["apple", "banana", "orange"];

豆知識: number[]Array<number>、どちらでもOK。お好みでどうぞ!


3. タプル型

// [ID, 名前, 管理者フラグ]
let userData: [number, string, boolean] = [1, "Bob", true];

タプルは「要素の型と順番がガッチリ固定された配列」。これで「ID→名前→フラグ」の順番は鉄壁!


4. 列挙型(enum)

enum Color { Red, Green, Blue }
let c: Color = Color.Green;   // 1が入る
enum Direction {
  Up    = "UP",
  Down  = "DOWN",
  Left  = "LEFT",
  Right = "RIGHT"
}

enumは関連する定数をまとめて管理。数値でも文字列でもOK!


5. ユニオン型

let id: string | number;
id = "abc123";
id = 456;  

ユニオン型は「文字列か数値か、どっちか選べるよ」という宣言。柔軟だけど安心感大。


6. 交差型(Intersection)

interface HasName { name: string; }
interface HasAge  { age: number; }

type Person = HasName & HasAge;
let p: Person = { name: "Carol", age: 28 };

両方のインターフェースを満たす “スーパーオブジェクト” の完成!


7. リテラル型

let day: "Mon" | "Tue" | "Wed";
day = "Tue";
// day = "Fri"; // これはエラー!

変数に「これだけ!」とピンポイント指定できる型です。


8. type エイリアス

type Point = { x: number; y: number; };
let pt: Point = { x: 10, y: 20 };

長いオブジェクト型は「別名」でまとめてスッキリ。


9. interface

interface User {
  id: number;
  name: string;
  email?: string; // 任意プロパティ
}

const u: User = { id: 100, name: "Dave" };

interfaceは拡張性バッチリ。後から extends で組み合わせもできるよ。


10. 関数の型注釈

function multiply(a: number, b: number): number {
  return a * b;
}

type Adder = (x: number, y: number) => number;
const add: Adder = (x, y) => x + y;

関数も「何を渡して、何を返すか」がガッチリ宣言できます。


11. ジェネリクス(総称型)

function wrap<T>(value: T): { wrapped: T } {
  return { wrapped: value };
}

const numWrapped = wrap(42);      // { wrapped: 42 }
const strWrapped = wrap("hello"); // { wrapped: "hello" }

ジェネリクスで「どんな型でもイケます!」な汎用関数が作れちゃう。


🎉 まとめ

  • TypeScriptはJavaScriptに「安心の型検査」をプラス。
  • 小さなプロジェクトから導入OK、慣れてきたら大型開発にもガッチリ対応。
  • まずは「プリミティブ型」→「配列・タプル」→「インターフェース」あたりを触ってみて、ゆっくりステップアップ!

型の世界に一歩踏み込めば、バグに悩まされる日々から解放されるかも?
ぜひTypeScriptで、楽しく&安全にコードを書いてみてくださいね!✨

タイトルとURLをコピーしました