JavaScriptのEventまわりについて調べていたら、見たことない記法が出てきた。なんか変数の後ろにコロン付けて、それに続けてfunctionとかあるんだわ。型みたいなの。検索してみると、オブジェクト初期化子というものらしい。
var hoge = { doMoge : function(_argument) { alert(_argument); } } hoge.doMoge();
オブジェクト初期化子を使うと、Objectのインスタンス生成時に、そのプロパティの初期化ができる模様。上の例は、プロパティを関数で初期化してみたところ。
単純化すると、こういう話。
// 次の2行は同じ意味 var hoge = new Object(); var moge = {};
もちろん new してから代入しても同じだけど、明示的に初期化できるから、こっちの方がコードの可読性は良い。単純化の例だと逆効果になりそうだけど、ちゃんと使えば素敵かもしれない。まあ、最近クラス化が基本になってるから、使い場所ないんじゃないかって、専らの噂だけどね。
[参考] Under Translation of ECMA-262 3rd Edition オブジェクト初期化子
なーんか、こんなの他でも見たことあるなーって思ったら、bashの変数の初期化もこんなんだったっけ。
count=`expr ${count:-0} + 1`
シェルって極まってくると顔文字っぽくなってくるなー。いや、シェルの達人たちこそ、顔文字見て「あ、シェル…」とか思ったりするのか。やっぱ極限ってスゲー。
このエントリーのトラックバックURL
http://www.deftrash.com/admin/mt4/mt-tb.cgi/216