オブジェクト生成時にundefinedをセットする意味 ref: http://qiita.com/kaz2ngt/items/1223fae8c40690312a18