JavaScriptでimportっていいなそれ。

http://d.hatena.ne.jp/kacchan6/20061104#p1』で曰く

$import("xx.yy.ZZZ");

var z = new xx.yy.ZZZ();
z.hoge();

みたいなことができるようなライブラリを開発中とのこと。これいいなぁ。公開されたら使います。たぶん。
該当する.jsファイルをAjax*1で読み込んでevalするらしい。その手があったか!


importというか。AJAJAなるサーバサイドJavaScript(JavaScriptCGIとかを書ける、らしい)のプロジェクトではuse()という関数で読み込めるように拡張してあるらしい。
importでは(includeと違って)同じファイルは読み込まない(AからBを読み込んでたら、CがBを要求してても読み込みを省略、とか)、とかいう感じの話があった気がするけど何の言語だったっけ。勘違いかもしれん。
JavaScriptではJavaのようにガンガン継承させたりしないのが普通っぽく、クラスごとにファイルを作成するとかはちょっと煩雑に思える。それに関数だけを定義したい日もある。ので、include("foo.js");という感じで単純に該当ファイルを読み込むだけの物でも良いかもしれない。ふむ、これなら私でもすぐ作れそうだな。ただし読み込んだファイルのパスだけは覚えておいて、繰り返しを避ける、とか?
なんにせよ、JavaScriptはもともとHTMLの装飾みたいな感じで考えられていて、昨今のように公開のJavaScriptライブラリ(prototype.jsみたいなの)を使ってさらに拡張して〜みたいなのはあまり考えられてなかったのかも。
なんであれ、a.jsを使うにはb.jsが必要とか言うときに、HTML側で

<script src="a.js"></script>
<script src="b.js"></script>

とかやるのはちょっとみっともないので、何とかできるなら何とかしたいかもね。もっとも何とかするスクリプトはHTMLで読ませることになるんだけど。

*1:非同期ではないような気がするけど