コンストラクタをapply

new F() としたとき、実際に F が呼び出される前に新たなオブジェクトが作られるが、そのオブジェクトの生成にあたっては F.prototype の値が参考にされるのみで F 自体は直接関わってはいない。だからこそ一時的なコンストラクタを使って継承を実現ということもできる。

Function#applyはよく使うけど、今頃になってコンストラクタをapplyで呼び出したいという衝動に駆られてnewって何なのよ?って調べてたら、とてもいい記事がすぐ見つかりました。