Skip to content

hifiveのクラスモジュール紹介(その6)「クラス変数の定義」

by : 2017/09/15

JavaScript(ECMAScript5)ではクラスを作成することができません。ECMAScript2015になって、ようやくクラスを使えるようになりました。しかしレガシーなブラウザでは実装されていないため、Babelのようなライブラリを使ってコードを変換するのが一般的です。

JavaScriptではprototypeやdefinePropertyなどを使ってクラス(的なもの)を実装しますが、hifiveではそういった面倒な仕組みを意識することなくクラスを実装できるモジュールを開発しました。この機能は1.3.1以降で利用できます。

今回はクラス変数の使い方について紹介します。

ベースになるクラスについて

ベースになるクラスは id というフィールドを持っていることとします。このidはクラス変数として定義された値を返します。

インスタンスが作られる度に id がインクリメントされていきます。そのため、この HelloClass のインスタンスが呼ばれる度にインスタンスのidの値が変わる仕組みです。

そして、このidはクラス変数として定義していますので、インスタンス全体で共通管理されます。例えばあるインスタンスでidを書き換えてみます。

そうすると、別なインスタンスの値も書き換わります。

この id はクラス内のスコープで管理される変数なので、書き換える仕組みを用意しなければ外部から書き換えられることなく安全に利用できるようになります。目的に応じて使ってみてください。


今回のコードはJSFiddleにアップロードしてあります。実装時の参考にしてください。

変数のスコープを適切に管理すれば、クラス設計とその利用がより簡単になることでしょう。ぜひhifiveのクラスモジュールを使いこなしてください。

クラスの作成と使用 – hifive

From → hifive

現在コメントは受け付けていません。

%d人のブロガーが「いいね」をつけました。