指向性メモ::2005-02-24::JavaScriptでOOP?

ページ情報
制作日
2005-02-24T22:54:15+09:00
最終更新日
2005-02-24T22:54:15+09:00
ページ内目次

JavaScriptでデザインパターンのサンプルコードに対してfunction Class.prototype.method() {...}という書き方はJScriptの方言というコメントを頂いた。そもそも石川はJavaScriptに余り興味がないため、ECMAScript方面の詳細な情報を知らなかったりする。正直なところ、ブラウザごとの互換性を考えるのが面倒なのでJavaScriptはあんまり使ったことがない。ECMASciptの使い道としてはむしろWSHがメインなので、JScriptとして動けばそれでよいのだ。なお、ECMAScriptとJavaScript、JScriptの違いについては各自検索されたし。

とはいえ、標準化された構文についても一応は知っておいた方が良いので、軽く調べてみた。

ふーむ。なるほど。コンストラクタ内でプロパティに関数オブジェクトを代入するのが正解かな。匿名関数を使ってClass.prototype.method = function() {}と書くのがスマートっぽい予感。あれ、でもECMAだとnew Function()じゃないとダメなのかな? ところで、メソッドをコンストラクタの外で定義した場合、何か差異があるのだろうか。スコープとメモリの使い方に違いが出るような出ないような。

ていうか、this.propClass.prototype.propvar propの使い分けとか、真面目に考えると混乱しそうな雰囲気。一度ちゃんと言語仕様読まないとダメかな。

Comments

Trackbacks

Trackback Ping URI

http://yudai.arielworks.com/memo/2005/02/24/225415.trackback

末尾に「5 + 5」の計算結果を繋げて下さい。例えば計算結果が「17」の場合、「225415.trackback17」です。これは機械的なトラックバックスパムを防止するための措置です。

Post a comment

Name (optional)
Email address or URI (optional)
Do the math below (required to filter comment spams)
5 + 5 + 5 =
Message (required)
Submit
連絡先、リンク、転載や複製などについては『サイト案内』をご覧ください。Powered by HIMMEL

I ♥ Validator