なんだかGoodVibes

日々の勉強メモです。

【Node】クラスの作成方法

こんにちは。
本日はクラスの作成方法についてメモ。


概要

面積を計算するためのクラスを用意します。

  • 四角形の面積を計算するメソッド
  • 三角形の面積を計算するメソッド
  • 引数に応じて四角形もしくは三角形の面積を計算するメソッド

の3つのメソッドとコンストラクタを用意しています。


サンプルソース

クラスを作成する際は、クラス名の前にclassをつけます。
次に、コンストラクタでheigthをwidthをセットしています。
あとは必要なメソッドを記載するだけです。
では、以下サンプルです。

class AreaCalculation {
    // コンストラクタ
    constructor(heigth, width) {
        // heigthとwidthというプロパティに引数をセット
        this.heigth = heigth;
        this.width = width;
    }

    // 四角形の面積を求めるメソッド
    rectangleArea() {
        return this.heigth * this.width;
    }

    // 三角形の面積を求めるメソッド
    triangleArea() {
        return this.heigth * this.width / 2;
    }

    // 引数に応じて面積を求めるメソッド
    // 引数がtrueの場合は四角形、そうでない場合は三角形
    area(isRectangle) {
        if (isRectangle == true) {
            return this.rectangleArea();
        } else {
            return this.triangleArea();
        }
    }
}

// インスタンスを生成して、各メソッドの呼び出し
const areaCalculation = new AreaCalculation(20, 10);
console.log(`Rectangle: ${areaCalculation.rectangleArea()}`);
console.log(`Rectangle: ${areaCalculation.area(true)}`);
console.log(`Triangle: ${areaCalculation.triangleArea()}`);
console.log(`Triangle: ${areaCalculation.area(false)}`);

結果は以下

Rectangle: 200
Rectangle: 200
Triangle: 100
Triangle: 100


まとめ

クラスを使う場面、使いたい場面は結構あると思うので
覚えていたら役に立つかと思います。
以上です。


追記

JavaScriptでクラスが使えるのは
ECMAScript 2015 からになります。

クラス - JavaScript | MDN