カテゴリ: TypeScript 更新日: 2026/01/01

TypeScriptとクラス構文(ES6)との整合性と拡張方法をやさしく解説

TypeScriptとクラス構文(ES6)との整合性と拡張方法
TypeScriptとクラス構文(ES6)との整合性と拡張方法

先生と生徒の会話形式で理解しよう

生徒

「TypeScriptでもJavaScriptみたいにクラスって使えるんですか?」

先生

「使えますよ。TypeScriptのクラスは、ES6のクラス構文をそのまま土台にしています」

生徒

「じゃあ、JavaScriptを知らなくても大丈夫ですか?」

先生

「大丈夫です。まずはクラスの考え方から、ゆっくり確認していきましょう」

1. クラスとは何か?プログラミング未経験でもわかる説明

1. クラスとは何か?プログラミング未経験でもわかる説明
1. クラスとは何か?プログラミング未経験でもわかる説明

クラスとは、「ものの設計図」のような存在です。たとえば、たい焼きを作るときの型を思い浮かべてください。 型そのものは食べられませんが、その型を使うことで、同じ形のたい焼きを何個も作れます。 この「型」がクラスで、「実際にできあがったたい焼き」がインスタンスと呼ばれるものです。

TypeScriptのクラス構文は、ES6(JavaScriptの新しい書き方)で追加されたクラス構文と完全に整合性があります。 つまり、JavaScriptのクラスを学んでおくと、TypeScriptでも同じ感覚で使えるということです。

2. ES6のクラス構文をTypeScriptで使う基本例

2. ES6のクラス構文をTypeScriptで使う基本例
2. ES6のクラス構文をTypeScriptで使う基本例

まずは、ES6のクラス構文をそのまま使ったTypeScriptの基本例を見てみましょう。 難しい文法に見えるかもしれませんが、「中に情報と動きをまとめている」と考えると理解しやすくなります。


class Person {
    name: string;

    constructor(name: string) {
        this.name = name;
    }

    greet(): void {
        console.log("こんにちは、" + this.name + "です");
    }
}

const user = new Person("たろう");
user.greet();

こんにちは、たろうです

classはクラスを定義するためのキーワードです。 constructorは「初期設定をする場所」で、クラスから新しいデータを作るときに自動で呼ばれます。

3. TypeScriptがES6クラスを拡張しているポイント

3. TypeScriptがES6クラスを拡張しているポイント
3. TypeScriptがES6クラスを拡張しているポイント

TypeScriptは、ES6のクラス構文にという仕組みを追加しています。 型とは、「この箱には何が入るのか」をあらかじめ決めておくルールのようなものです。 これにより、間違った使い方をコンピュータが事前に教えてくれます。

上の例では、name: stringと書かれています。 これは「nameには文字だけが入る」と約束している状態です。 数字を入れようとすると、エラーとして教えてくれるため、ミスに気づきやすくなります。

4. アクセス修飾子で安全にクラスを使う

4. アクセス修飾子で安全にクラスを使う
4. アクセス修飾子で安全にクラスを使う

TypeScriptでは、クラスの中身をどこまで公開するかを決められます。 これをアクセス修飾子と呼びます。 難しい言葉ですが、「見せていい情報かどうかの仕切り」と考えると理解しやすいです。


class Account {
    private balance: number = 0;

    deposit(amount: number): void {
        this.balance += amount;
    }

    getBalance(): number {
        return this.balance;
    }
}

privateが付いた変数は、クラスの外から直接触れません。 これにより、意図しない使われ方を防ぎ、安全なプログラムを書けるようになります。

5. クラスの継承で機能を広げる

5. クラスの継承で機能を広げる
5. クラスの継承で機能を広げる

ES6とTypeScriptでは、継承という仕組みを使えます。 継承とは、「元の設計図をもとに、少しだけ機能を追加した新しい設計図を作る」ことです。 たとえば、普通の人クラスをもとに、学生クラスを作るようなイメージです。


class Student extends Person {
    study(): void {
        console.log(this.name + "は勉強しています");
    }
}

extendsを使うことで、元のクラスの機能を引き継ぎつつ、新しい動きを追加できます。 これはES6のクラス構文と完全に同じ書き方です。

6. TypeScriptとES6クラスを使うメリット

6. TypeScriptとES6クラスを使うメリット
6. TypeScriptとES6クラスを使うメリット

TypeScriptとES6クラス構文を組み合わせることで、コードが読みやすくなり、整理もしやすくなります。 特に初心者の方にとっては、「関係するものを一か所にまとめられる」点が大きなメリットです。

また、型チェックのおかげで、実行する前にミスに気づけるため、 プログラミングが初めてでも安心してコードを書き進められます。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptで非同期イテレーター(for await of)を活用する
New2
TypeScript
TypeScriptで「Hello World」を出力する手順と解説
New3
JavaScript
JavaScriptの正規表現で先頭・末尾を指定する^と$の使い方
New4
TypeScript
TypeScriptで非同期処理を含むES6構文をテストする方法!初心者のための徹底解説
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
TypeScript
TypeScriptとES6/ESNextの連携ガイド!最新機能を有効にするtarget設定
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの正規表現(RegExp)の基本構文と仕組みを解説
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptのif文の使い方を完全ガイド!初心者でもわかる条件分岐
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptでESLintとPrettierを導入!コード整形ルールを自動で統一する方法
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptの配列の要素にアクセスする方法(インデックス番号の使い方)