関数として呼び出されるべきではないコンストラクターが必要です。
function Foo() {
...
};
var f = new Foo(); // ok
Foo(); // throws error
ここで検索したところ、関数として呼び出されているかどうかを確認するために次を使用できる可能性があることがわかりました
if (!(this instanceof arguments.callee))
もしそうなら、どのエラーをスローする必要がありますか?
そして、コンストラクターを定義するより良い方法はありますか?