JavaScriptで本格プログラミング(1)

JavaScriptで多段継承したクラスをいくつも作ったり、public/privateなメンバ・メソッドを実装するにはどうしたら・・・。
と、それだけが「本格」ではありませんが、よく見るような“スクリプト”的なコードだけではなく、通常のコンパイラ言語のようなコードもECMAScriptでは記述可能です。

もともと、ECMAScriptの言語仕様には、プロトタイプを使った継承が(たしか…)謳われています。

@ITに「Ajax時代のJavaScriptプログラミング再入門」という記事が登場しました。
そこらへんを(できることなら各種ツール・フレームワーク等に依存せずに)解説してくれたら、JavaScriptの株ももう少し上がるのではと期待しています。

ECMAScriptのユーザー定義オブジェクト(≒クラス)

JAVAビーンを例に、privateメンバ"data"とpublicメソッド"getValue","setValue"を持つ"Bean"クラスを定義してみました。


function Bean() {



  var data;



  this.getValue = function() {

    return data;

  };



  this.setValue = function(value) {

    data = value;

  };



}

このクラスは、以下のように動作します。

var obj1 = new Bean();

obj1.setValue(1);



var obj2 = new Bean();

obj2.setValue(2);



alert(obj1.getValue()); // 1

alert(obj2.getValue()); // 2



alert(obj1.data); // undefined

alert(obj2.data); // undefined

では、static(各インスタンスにではなく、各クラスに対して1つ存在する)メンバ・メソッドはどうするのか…。
それはまたの機会に載せたいと思います。