JavaScriptのクラス定義の小技

素のJavaScriptでクラスを定義しようとするとprototypeってたくさん書くのがめんどくさい!って思ってたけど、いろんなソース見てたらprototypeにオブジェクトを渡すと言う小技を発見した。

ClassA = function(param) {
    this.foo = param;
};
ClassA.prototype = {
    foo: "",
    bar: function() {
        alert(this.foo);
    }
};

a = new ClassA("HIGE");
a.bar();

これならそこまでめんどくさくない。