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

私の歴史と今

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

javascriptのコンストラクタを調べた

JavaScript

基礎を学ぶために、returnを持つコンストラクタの挙動を調べた。
下記コードだと、new Hoge()で、nameプロパティを持つオブジェクトが返され、temp1変数に格納される。

var Hoge = function (){
	this.name = 'hoge';
};
var temp1 = new Hoge();
alert(temp1.name);

下記だと、new Hoge()で、Dateオブジェクトが返され、temp1変数に格納される。this.nameの対象となるオブジェクトも作成されているのだろうか。

var Hoge = function (){
	this.name = 'hoge';
	return new Date();
};
var temp1 = new Hoge();
alert(temp1.name);

つまり、var x = new Xxx()とした場合、そのXxx()関数でreturnされるオブジェクトが変数xに代入される、ということだね。それだったら、var x = Hoge();と一緒だな。