あっくんブログ Written by Akihiro Tsuji

JavaScriptのクラス

JavaScript プログラミング

こんにちはあっくんです。コロナ流行ってますが、大丈夫でしょうか?僕は2日前に、PCR検査を受けにいってきました!身近な人に、出てしまって行かざるを得なくなりました。同居している家族にも、言ってきてほしいと言われ、渋々PCR検査に行きました。結果は陰性でした。
 PCR検査はなんばで2980円。唾液のみで、試験管にいれて、書類を記入しておわりました。検査を受けてみて、改めてコロナを身近に感じました。同居している家族は、父と母で、70歳近いので、感染すると致命的です。自分の行動(外出)で、人の命を左右することを改めて考えさせてくれました。
 PCR検査を通じて感じたのは、人の不安や安心を担保させてくれるものには、お金を払う価値がありますね。

JavaScriptのクラスについてやっていきましょー!!

クラスの作成

クラス構文はクラス名の1文字目は慣例的に大文字です。内部には、コンストラクター(constructor 構築子)と呼ばれる、初期化を行う関数を持ちます。
コンストラクターはクラスをnew演算子で実行した時に呼び出される関数です。
クラスにはメソッドを書くことができます。メソッドはインスタンスメソッドになります。

プロパティはキーと値がペアになっています。
メソッドは関数が入っているプロパティのことです。

構文

class クラス名{ constructor(引数{ 初期化を行う化を行う this.プロパティ名パティ名= 代入する値; } メソッド名(引数{ インスタンスメソッドになる }
Code language: JavaScript (javascript)

例、チョコクラスとチーズケーキオブジェクト

Image from Gyazo
<html> <script> // クラスを作成 class Menu { // コンストラクター constructor(name, price) { // 初期化をおこなう this.name = name; this.price = price; } // インスタンスメソッド getInf() { // 文字列を作成 const t = `${this.name} : ${this.price}`; // 戻り値を戻す return t; } } // クラスを使ってオブジェクトを作る const cake1 = new Menu("チョコケーキ", 460); const cake2 = new Menu("チーズケーキ", 440); // プロパティを使う console.log(cake1.name, cake1.price); console.log(cake2.name, cake2.price); // メソッドを使う console.log(cake1.getInf()); console.log(cake2.getInf()); </script> </html>
Code language: HTML, XML (xml)

静的メソッド

静的メソッドは、クラスオブジェクトから使うメソッドです。静的メソッドは、クラス構文の中で、メソッド名の前にstaticとつけると作れます。

構文

class クラス名{ constructor(引数{ インスタンスメソッドになる } static メソッド名(引数 静的メソッドになるソッドになるドになる } }
Code language: JavaScript (javascript)

例、静的メソッドcalcTax()作って、使います。

Image from Gyazo
<html> <script> // クラスを作成 class Menu { // コンストラクター constructor(name, price) { // 初期化を行う this.name = name; this.price = price; } // 静的メソッド static calcTax(price, taxPer) { // 税込価格を計算 const res = Math.trunc((price * (100 + taxPer)) / 100); // 戻り値を戻す return res; } } // 税込価格を計算する console.log(Menu.calcTax(440, 10)); console.log(Menu.calcTax(460, 10)); </script> </html>
Code language: HTML, XML (xml)

静的プロパティ

クラス構文の中に書くことはできません。

構文

class クラス名{ constructor(引数{ 初期化を行う化を行う this.プロパティ名パティ名= 代入する値 } メソッド名(引数{ インスタンスメソッドになる } }
Code language: JavaScript (javascript)

例、メニューの最低価格と最高価格の静的プロパティを作ります。

Image from Gyazo
<html> <script> // クラスを作成 class Menu { // コンストラクター constructor(name, price) { // 初期化を行う this.name = name; this.price = price; } } Menu.MIN_PRICE = 100; Menu.MAX_PRICE = 2000; // 最低価格と最高価格をコンソールに出力 console.log(Menu.MIN_PRICE); console.log(Menu.MAX_PRICE); </script> </html>
Code language: HTML, XML (xml)

読んでいただいてありがとうございました!

JavaScript完全入門、おすすめです。