JavaScriptのClassとは? オブジェクト指向をわかりやすく解説!
JavaScriptは、Webページに動きを与えることができるプログラミング言語です。そして、このJavaScriptにおいて重要な概念の一つが「Class」です。
Classとは、オブジェクトの設計図となるもの、とイメージすると理解しやすいかもしれません。
例えば、「車」というオブジェクトがあるとします。
車には、
- 色
- メーカー
- 車種
といった様々な属性がありますね。
これらの属性と、車を動かすための「アクセルを踏む」「ブレーキをかける」といった動作をまとめて定義したものが「Class」です。
Classを定義することで、同じ設計図から複数の車を生成することができます。
これが、Classの基本的な考え方です。
Classの基本構文: 実際に書いてみよう!
それでは、実際にJavaScriptでClassを定義する方法を見ていきましょう。
Classは、class
キーワードを使って定義します。
class 車 {
// コンストラクタ
constructor(色, メーカー, 車種) {
this.色 = 色;
this.メーカー = メーカー;
this.車種 = 車種;
}
// メソッド
アクセルを踏む() {
console.log(`${this.メーカー}の${this.車種}が走ります!`);
}
ブレーキをかける() {
console.log(`${this.メーカー}の${this.車種}が止まります!`);
}
}
上記のコードでは、「車」Classを定義しています。
Class定義の中に、
- コンストラクタ
- メソッド
が定義されていることがわかります。
それぞれ見ていきましょう。
コンストラクタ: オブジェクトの初期化を行う
コンストラクタは、Classからオブジェクト(ここでは「車」)を生成する際に、最初に実行される特別なメソッドです。
constructor
キーワードを使って定義し、オブジェクトの初期化を行います。
先ほどの「車」Classを例に説明すると、
constructor(色, メーカー, 車種) {
this.色 = 色;
this.メーカー = メーカー;
this.車種 = 車種;
}
このコンストラクタは、
- 「色」「メーカー」「車種」の3つの引数を受け取ります。
- 受け取った引数を、それぞれ
this.色
、this.メーカー
、this.車種
に代入することで、オブジェクトのプロパティとして定義しています。
this
は、生成されるオブジェクト自身を指すキーワードです。
メソッド: オブジェクトの動作を定義する
メソッドは、オブジェクトに紐づけられた関数のことです。
先ほどの「車」Classでは、「アクセルを踏む」「ブレーキをかける」という2つのメソッドを定義しました。
アクセルを踏む() {
console.log(`${this.メーカー}の${this.車種}が走ります!`);
}
ブレーキをかける() {
console.log(`${this.メーカー}の${this.車種}が止まります!`);
}
これらのメソッドは、オブジェクトのプロパティ(ここでは「メーカー」「車種」)にアクセスし、それぞれの動作を実現しています。
Classを使ってみよう!: オブジェクトの生成とメソッドの実行
Classを定義したら、実際にオブジェクトを生成し、メソッドを実行してみましょう。
オブジェクトは、new
キーワードを使って生成します。
// 車Classからオブジェクトを生成
const myCar = new 車('赤', 'トヨタ', 'プリウス');
// メソッドの実行
myCar.アクセルを踏む(); // 出力結果: トヨタのプリウスが走ります!
myCar.ブレーキをかける(); // 出力結果: トヨタのプリウスが止まります!
new 車('赤', 'トヨタ', 'プリウス')
で、「車」Classから新しいオブジェクトを生成し、変数myCar
に代入しています。
そして、myCar.アクセルを踏む();
のように、オブジェクト名に.
を繋げてメソッドを呼び出すことができます。
まとめ: JavaScriptのClassで効率的な開発を!
今回は、JavaScriptのClassについて、基本的な構文から使い方まで解説しました。
Classを理解することで、
- コードの再利用性が高まり、開発効率が向上する
- オブジェクト指向の考え方を学ぶことができる
といったメリットがあります。
ぜひ、この機会にJavaScriptのClassをマスターしましょう!
関連記事
- JavaScript関数を徹底解説!初心者でも安心の基礎から応用までJavaScript関数とは? - プログラムを効率化する必須要素 Webサイトに動きを加え、動的な表現を可能にするJavaScript。その中でも「関数」は、プログラムを効率的に記述するために欠かせ …
- JavaScriptのループを使いこなす!for、while、for...in、for...ofを徹底解説JavaScriptのループを使いこなす!for、while、for…in、for…ofを徹底解説 JavaScriptを扱う上で、ループ処理は避けては通れない重要な概念で …
- 【初心者必見】JavaScriptの文法を基礎から解説!もう迷わないプログラミングJavaScriptの文法をマスターしよう! Webサイトに動きを加え、より魅力的なものにするために欠かせないJavaScript。その可能性を最大限に引き出すためには、JavaScriptの文法をし …
- 【JavaScript入門】基礎から応用まで完全網羅!初心者でも安心の徹底解説JavaScriptとは? なぜ学ぶべきなのか? Webサイトをより魅力的でインタラクティブな体験を提供するために欠かせないプログラミング言語、それがJavaScriptです。