カラクリサイクル

『輝かしい青春』なんて失かった人の雑記

JavascriptのコンストラクタをPerlっぽくする

概要: JavascriptのコンストラクタをPerlっぽくする。


ふとJavascriptでObject.new()って書けたらいいなーと思い、実際にできるようにしてみた。 Perlっぽくと言って入るものの、こういう書き方はPerlだけじゃないような気がする。

Function.prototype.new = function () {
    return this.apply(this, arguments)
}
/* コードの扱いはパブリック・ドメインで */

これだけでObject.new()って書けるようになる。

ぶっちゃけ便利なのかどうかよく分からない。

追記:2007/02/05-14:04:00+09:00

コメント欄でmalaさんにnewは予約語です。と指摘されるまで気づいてなかったんですが、 newは予約語なので、上記のコードはFirefox2.0以降じゃないと動きません。

試しにOpera9、Internet Explorer6で試したところエラーになりました。 テストがいい加減ですみません。

予約語のことすっかり忘れてました。

さらに追記:2007-02-08T10:20:00+09:00

nanto_viさんにコメント欄で指摘されましたが、Firefoxでも自作コンストラクタでは動かないみたいです。 実際に使ってみて確認しました。

実際にConstructor.new()のように書くには、JavaScript の new 演算子の意味 を参照すると幸せになれると思います。

間違ったエントリ書いてすいません。

指摘されたmalaさんとnanto_viに感謝です。