function Foo(x, y) {
	this.value = x * y;
}

var foo = new Foo(3, 5);
alert(foo.value); // 15
alert(typeof foo); // object

new 演算子で関数オブジェクトを呼び出す事で、
他のプログラミング言語同様、
オブジェクトを生成することができる。

この場合、オペランドである関数オブジェクトは、
一般的にコンストラクタと呼ばれる役割となり、
その関数内部で、オブジェクトの初期化を行う。

さて、この new 演算子だが、
任意の関数オブジェクトに使うことができる。
つまり、自作の関数をコンストラクタにすることが可能だ。

JavaScript では、この仕組みを利用することで、
独自のクラス(のようなもの)を扱うことができる。

関数オブジェクトが new 演算子で呼び出されると、
最初に新しいオブジェクトが作成された後、
関数のコードが実行される。

関数のコード内では、this キーワードを使うことで、
作成されたオブジェクトにアクセスできるので、
そのプロパティを設定することで、
新しいオブジェクトを初期化することができる。