カラクリスタ

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 に感謝です。

#FIXME