概要: 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