クラスとモジュール

2013-01-26

オライリーの JavaScript 第6版を図書館から借りて、 いろいろ調べている。 9 章のクラスとモジュールは知らないので、少し調べてみた。

列挙型

C 言語などには、列挙型 (enum) という型があり、分類を表すのに重宝している。 しかし、JavaScript には、言語に組み込まれた仕様としての列挙型はない。 一方、JavaScript ではオブジェクト指向的な技術を用いて多くの型を作れる。 そこで、JavaScript で列挙型を作る方法が説明される。

コインの計算:

クラス

クラスとは、事前に決めておいた特定のプロパティやメソッドをオブジェクトがもてるようにした枠組みのことである。

クラスのメソッドを作る書式は次のとおりである。function キーワードは使えない。また、関数式やアロー関数式も使えない。

メソッド

class <クラス名> {
  メソッド名(引数) {
    処理内容
  }
}

なお、クラスのメソッドでは「アロー関数式が使えない」と書いたが、なぜか Chrome, Edge, Vivaldi, Firefox などのブラウザでは動作した。 Seamonkey だけが動作しなかったことを付け加えておく。

上記のメソッドは、正確には「インスタンスメソッド」と呼ばれるもので、インスタンスに固有のデータに作用するメソッドを付与するために作られる。 一方、インスタンスが持っている固有のデータに影響しないメソッドも提供できる。これはスタティックメソッドと呼ばれ、次のように作る。

class <クラス名> {
  static メソッド名(引数) {
    処理内容
  }
}

スタティックメソッドを利用するときは次のようにする。

<クラス名>.メソッド名()