Javascriptとオブジェクト指向

YUIの方は、そろそろXMLHttpRequestをやろうかと思うが、ながいことJavaEEをやっているので、Javascriptのコードはやっぱり戸惑うことが多い、と実感。

そもそも、Java2以降、サーバーサイドに多くの開発者が流れて、Javascriptは長いこと「やっかいもの」扱いで、HTMLの補完程度に考えられてきたのだから、今更もてはやすのも都合がいいことなのかもしれない。自分もまったく同様。

サーバーサイドの多くのスクリプト言語が、オブジェクト指向言語で、PHPですらtry-catchなんてことをするようになってしまった。

Javascriptの文脈の中でも、オブジェクトやインスタンスという言葉が多く出てきて、Javascriptライブラリーの機能とあいまって、シンタックス的にも、Javaなんかに「なんとなく似た雰囲気」に見えたりする。
が、(そもそも実行主体の「動けばいいじゃん」的言語なので)コンストラクタ概念が曖昧だったり、プロパティーインスタンス毎に設定できたり、変数に関数をそのものをつっこんじゃったり(Aliasとしては使いやすい)。いろいろ戸惑ってしまう。
Javaでいうところの、オブジェクト=>インスタンスという考え方ではなくて、JavaScriptを書くという行為は、インスタンスを書くという行為と捉えた方が間違いない(スコープもページスコープしかないのだから。これが、実行主体ということ)。

JavaScriptを「完全なオブジェクト指向言語」と断言しているサイトもあったり、いろいろなサイトを見て回るのは興味深い。(こういう議論自体には、興味はないが)

以下のサイトはとても興味深いので、リンクを貼っておくことにする。