今日は、JavaScript を自分で拡張する方法です。
「一週間でマスター」 みたいな本には書いてないです。
これが使えれば、玄人っぽい書き方になるでしょう。
今日のお題は、「prototype の使い方」 です。
prototype といっても、例の prototype.js ではありませんよ。
prototype というのは、JavaScript がもともと持っている仕組みです。JavaScript の変数は全てオブジェクトとして定義されており、全てのオブジェクトが prototype プロパティを持っています。そこにクラスの定義が書いてあるのです。
そして、これが重要なことですが、prototype は動的に書き換え可能なのです。
String クラスのような組み込みのクラスも例外ではありません。
有名な prototype.js の名前はもともとここから来ています。
ではさっそく、具体的なサンプルです。
<html>
<head>
<script type="text/javascript">
String.prototype.foo = function(){
alert( this );
}
var a = 'Hello'; // String オブジェクト a を作成
a.foo(); // いきなり foo を呼び出せる!
// なぜなら上で prototype を使って String の foo メソッドを定義していたからです
</script>
</head>
<body>
</body>
</html>
prototype による、クラスの定義・再定義の方法はまた後で説明したいと思います。
JavaScript のすごいところは、こういう風に、String のような組み込みのクラスさえも、自分でシームレスに拡張して使えるところなのです。
今日は prototype の簡単な使い方を示しました。
ではまた!!
C/C++ による Windows プログラミング、JavaScript, PHP を使ったウェブ開発のことなら、