公開: 2009年6月14日12時50分頃 会社で「JavaScriptのオブジェクトについて考察してみた (d.hatena.ne.jp)」という記事の話題が。内容の妥当性はさておき、興味深いと思ったのがこれ。 var o = function() { return { prop : "私はプロパティです。" } }; var obj = new o(); console.log(obj.prop); 普通はコンストラクタは値を返したりしないわけです。しかし、この例ではコンストラクタがハッシュを返すようになっていて、そのハッシュが new の結果として生成されたことになっています。これはひどいと言うべきか、凄いと言うべきか……。 オブジェクト生成時の手順はECMA-262 (www.ecma-international.org)の 13.2.2 で規定されているのですが、以下のようになっ