作者: 機械伯爵
日時: 2007/10/5(17:16)
 さっき、さっそくJavaScriptの基本文法を復讐……ちゃった、復習すべく、
入門サイトより文書を落としてきました。

 ……Pythonに慣れきって、'{'と'}'が辛い……

※Lispはいじってるので、'('と')'は平気なんだけどなぁ……

> >  確かに一個一個手作りしてオブジェクトを作るのはしんどいですが、多態性には
> > 対応できるでしょうし、見易さも、ある面ではそのとおりです。
> 
>   いやいや。ちゃんと作ってあれば
> 
>   new Class()
> 
>   の書式でメモリの許す限り同じ型のオブジェクトをぼこぼこ作れます。

 あ、ごめんなさい、さすがにソレは知ってます。

 『一個一個手作り』ってのは単に『継承できない』から『クラスを』って
程度の意味です。

 ちなみに、内部でメソッドをきちんと参照すれば、自動的には継承せずとも、
内部に親オブジェクトを持って継承っぽいコトが出来るのも、一応知って
います。

 ……そうか、面倒臭いだけで出来るなら、Pythonで自動生成コードを作れ
ば……(爆)

> >  長い長い名前空間のネストも、パッケージを提供する側からすれば、非常に使い
> > 易いんでしょうね。
> 
>   そういう作法で書いてあるだけなのでは?  気に入らなければ var で別な名
> 前に代入してやるだけで好きな名前でアクセスできますし。

 同じパッケージを参照するなら、with構文もありますしね。

※余談ですが、このJavaScriptのwith構文のつもりでPythonのwith構文を
 使おうとするとドツボにはまります……全く別物ですので……で、
 私は実際、はまった……

 あ、20世紀に勉強したっきりなのに、結構覚えてるなぁ(笑)

> >  JavaScriptって、自作のモジュールをJavaScriptで記述して、取り込めました
> > っけ?
> 
>   ここでも以前書いているんですけど、ECMAScript 自身にはそういう機能はあ
> りません。それはプラットフォームが提供する機能になります。ブラウザで動
> くのであれば <script> タグや XMLHttpRequest を使いますし、WSH でも独自
> の XML で同じように <script> を使います。Rhino には load() ってのがあり
> ますね。

 やっぱり、ユーザがモジュールを作ろうとすると、関数/オブジェクト定義なんか
を書いたスクリプトファイルをロードするしか無いですよね。

 で、考え無しにロードするとグローバル名前空間にぶちこまれますので、そんな
場合はオブジェクトにして、関数/オブジェクトのコレクションとして呼び出す方
がいいかもしれませんね。

> # 個人的には以前も書きましたが、Hash オブジェクトをきちっと定義して便利
> # なメソッドを用意しておいたほしかったという不満は大きいです。

 JavaScriptでは、配列は連想配列(ハッシュ?)なんだかシーケンスなんだか、
よくわかりませんが……要素だけを放り込むと勝手にナンバリングしてくれる
みたいですね(便利かもしんない……)

 全数検査は登録順……みたいですね。

> # 世の中的には Haskell ブームの方がでかかった、なんてことないよな。

 私は少なくとも、Haskell & 関数型プログラミングのブームしか知りません
でした(笑)

※まぁ、私自身、走マイナー性がありますから、なんともいえませんが。

 /機械伯爵/