2005年12月05日

JavaScript と名前空間

 JavaScript で少し大きなプログラムを書こうとか、人のライブラリを使おうとかし始めると識別子のバッティングに良く出会う。言語仕様にそういう概念が無い言語だから仕方が無いとは思うが、みんな無造作に大域名前空間を使いすぎると思う。せめてネーミングルールで分けている例が見られくらいだ。これはかなり時代に逆行している。

 ここでこの名前のバッティングを避ける良い考えを思いついたので、説明しておこう。
それは大域名前空間におく変数を、名前空間として使うという方法だ。

 例えば MyLibrary と言うライブラリを作ろうとする場合、まず最初に

var MyLibrary = {
version:'1.0.0'
}

 と宣言する。この後はこの MyLibrary の後にライブラリのメンバーを追加していけば良いだけだ。例えば関数を宣言するなら、

MyLibrary.MyFunction = function() {
alert('This is MyLibrary.MyFunction();');
}

 と宣言し、MyLibrary.MyFunction(); でいつでも呼び出すことができる。
これで大域名前空間の競合を気にする事無くライブラリが作れる。
こんな簡単な方法で解決できるんだから、他のライブラリの作者もみんなこの方法を使ってくれれば良いのだけど...


posted by lepton at 20:05| 東京 ☀| Comment(0) | TrackBack(0) | JavaScript | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
プロフィール
名前:lepton
年齢:over 40
ウェブサイトURL:http://www.hmsoft.co.jp/lepton/
メールアドレス:contact@hmsoft.co.jp
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。