JavaScriptでデザインパターンのサンプルコードに対してfunction Class.prototype.method() {...}という書き方はJScriptの方言
というコメントを頂いた。そもそも石川はJavaScriptに余り興味がないため、ECMAScript方面の詳細な情報を知らなかったりする。正直なところ、ブラウザごとの互換性を考えるのが面倒なのでJavaScriptはあんまり使ったことがない。ECMASciptの使い道としてはむしろWSHがメインなので、JScriptとして動けばそれでよいのだ。なお、ECMAScriptとJavaScript、JScriptの違いについては各自検索されたし。
とはいえ、標準化された構文についても一応は知っておいた方が良いので、軽く調べてみた。
ふーむ。なるほど。コンストラクタ内でプロパティに関数オブジェクトを代入するのが正解かな。匿名関数を使ってClass.prototype.method = function() {}と書くのがスマートっぽい予感。あれ、でもECMAだとnew Function()じゃないとダメなのかな? ところで、メソッドをコンストラクタの外で定義した場合、何か差異があるのだろうか。スコープとメモリの使い方に違いが出るような出ないような。
ていうか、this.prop、Class.prototype.prop、var propの使い分けとか、真面目に考えると混乱しそうな雰囲気。一度ちゃんと言語仕様読まないとダメかな。
http://yudai.arielworks.com/memo/2005/02/24/225415.trackback
末尾に「5 + 5」の計算結果を繋げて下さい。例えば計算結果が「17」の場合、「225415.trackback17」です。これは機械的なトラックバックスパムを防止するための措置です。