カテゴリ: JavaScript 更新日: 2025/09/04

JavaScriptのクラス構文とオブジェクト指向の基礎を学ぼう|初心者でもわかるクラス入門

JavaScriptのクラス構文とオブジェクト指向の基礎を学ぼう
JavaScriptのクラス構文とオブジェクト指向の基礎を学ぼう

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

生徒

「JavaScriptでクラスってよく聞くけど、何のために使うんですか?」

先生

「クラスは、似たようなものをまとめて作るための設計図のようなものです。オブジェクト指向プログラミングの基本の一つで、ものごとを整理しやすくする役割がありますよ。」

生徒

「設計図?どういうことか具体的に教えてください!」

先生

「わかりました!それでは、JavaScriptのクラス構文とオブジェクト指向の基本をわかりやすく説明しますね。」

1. クラスって何?設計図のようなもの

1. クラスって何?設計図のようなもの
1. クラスって何?設計図のようなもの

クラスとは、同じ種類のものをまとめて作るための「設計図」のようなものです。たとえば、車を作るときに「車クラス」を作って、車の特徴や動き方を決めておきます。その設計図を使って、実際の車(オブジェクト)を何台も作ることができます。

プログラミングの世界でいうオブジェクトとは、「もの」や「データのかたまり」のことです。クラスはそのオブジェクトを作るための型(テンプレート)とも言えます。

2. JavaScriptのクラス構文の基本

2. JavaScriptのクラス構文の基本
2. JavaScriptのクラス構文の基本

JavaScriptでクラスを作るときは、classというキーワードを使います。基本の書き方は次の通りです。


class Car {
  constructor(name, color) {
    this.name = name;   // 名前をセット
    this.color = color; // 色をセット
  }

  drive() {
    console.log(this.name + "が走ります。");
  }
}

ここで使っているconstructorは「コンストラクター」と読み、オブジェクトを作るときに呼ばれる特別な関数です。thisは「このクラスで作られたオブジェクト自身」を意味します。

3. クラスからオブジェクトを作ってみよう

3. クラスからオブジェクトを作ってみよう
3. クラスからオブジェクトを作ってみよう

上のクラスを使って実際に車のオブジェクトを作ってみましょう。


const myCar = new Car("プリウス", "赤");
myCar.drive(); // プリウスが走ります。

newは「新しいオブジェクトを作るよ」という意味です。myCarは車のオブジェクト名で、driveメソッドを呼ぶと車が走る動作をします。

4. オブジェクト指向って何?

4. オブジェクト指向って何?
4. オブジェクト指向って何?

オブジェクト指向とは、プログラムを「もの(オブジェクト)」として考える考え方です。人や車、商品などをオブジェクトとして扱い、それぞれに特徴(プロパティ)や動作(メソッド)を持たせて整理します。

これにより、プログラムが現実の世界に近い形で表現でき、管理や拡張がしやすくなります。

5. クラスで作るオブジェクトの特徴(プロパティ)と動作(メソッド)

5. クラスで作るオブジェクトの特徴(プロパティ)と動作(メソッド)
5. クラスで作るオブジェクトの特徴(プロパティ)と動作(メソッド)

先ほどのCarクラスでは、namecolorがプロパティ、driveがメソッドです。

  • プロパティ:オブジェクトの「特徴」や「情報」。例:色や名前
  • メソッド:オブジェクトができる「動作」や「処理」。例:走る、止まる

オブジェクト指向では、これらをセットで考えます。

6. クラスの継承で機能を増やす(簡単な説明)

6. クラスの継承で機能を増やす(簡単な説明)
6. クラスの継承で機能を増やす(簡単な説明)

クラスは別のクラスを元にして作ることもできます。これを「継承(けいしょう)」と言います。例えば「スポーツカー」というクラスを「車」クラスから作り、走る以外に「スピードを上げる」機能を追加できます。


class SportsCar extends Car {
  turbo() {
    console.log(this.name + "がターボで加速します!");
  }
}

const mySportsCar = new SportsCar("フェラーリ", "赤");
mySportsCar.drive(); // フェラーリが走ります。
mySportsCar.turbo(); // フェラーリがターボで加速します!

extendsは「〜を継承する」という意味で、元のクラスの機能を受け継いで新しい機能を足せます。

7. まとめとして大切なポイント

7. まとめとして大切なポイント
7. まとめとして大切なポイント
  • クラスはオブジェクトを作るための設計図のようなもの
  • constructorはオブジェクトを作るときに呼ばれる特別な関数
  • thisは「そのオブジェクト自身」を指す
  • オブジェクトは「プロパティ」と「メソッド」を持つ
  • 継承を使うと既存のクラスの機能を引き継ぎ、新しい機能を追加できる

JavaScriptのクラス構文とオブジェクト指向の考え方は、プログラムをわかりやすく整理し、複雑な動きを扱うのにとても役立ちます。ぜひ基本からゆっくり理解していきましょう。

関連記事:
カテゴリの一覧へ
新着記事
New1
JavaScript
JavaScriptの正規表現で繰り返し指定(* + ? {n,m})を学ぼう
New2
TypeScript
TypeScriptとESNextの連携を完全ガイド!最新機能を使いこなす設定と対応法
New3
JavaScript
JavaScriptの正規表現で任意の1文字(.)や文字クラスを使う方法
New4
TypeScript
TypeScriptで非同期イテレーター(for await of)を活用する
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptの日時操作Tips!実務で役立つテクニック集
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.4
Java&Spring記事人気No4
TypeScript
TypeScriptでESLintとPrettierを導入!コード整形ルールを自動で統一する方法
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptのif文の使い方を完全ガイド!初心者でもわかる条件分岐
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptの配列の要素にアクセスする方法(インデックス番号の使い方)
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptの正規表現で文字列を置換する方法(replaceメソッド)