読者です 読者をやめる 読者になる 読者になる

私の歴史と今

読んでて恥ずかしくなるのが私の歴史。だけどそのときは今現在のように真面目に書いていた訳でね。そんな私の今を書いていく。

newの間違い

JavaScript

よく間違えるんだけど、下記のコードで、変数hogeには、関数オブジェクトが格納されるので、hoge.nameは関数の名前になる。

var hoge = function func(){
	this.name = 'ken';
};

alert(hoge.name); // "func"と表示される。

で、よく間違えて、下記のコードを書いてしまうんだけど、この場合、変数hogeに関数オブジェクトは格納されない。まず、関数オブジェクトfuncが定義され、funcに対してnewしているので、関数オブジェクトfuncはコンストラクタとして呼び出され、nameプロパティを持つ新たなオブジェクトが作成される。

var hoge = new function func(){
	this.name = 'ken';
};

alert(hoge.name); // "ken"と表示される。