コンストラクタに引数をとらない場合は、new Hoge(); の () を省略し、new Hoge; と書くことができる。これは知らなかった。つまり、コンストラクタの括弧は、関数呼び出しのための括弧ではなくて、引数を渡すための括弧なのである。JavaScript The Definitive Guide を読み返したら、ちゃんと省略している例も書いてあった。
そして、仕様を当たってみる。
ECMAScript Language Specification
ECMAScript Language Specificationの、11.2.2 The new Operator 部分。
The production NewExpression : new NewExpression is evaluated as follows:...
引数がない場合と、
The production MemberExpression : new MemberExpression Arguments is evaluated as follows:...
引数がある場合の評価方法が書かれている。
MSDN
MSDNの new Operator 項を当たってみると
The parentheses can be omitted if the constructor takes no arguments.
とある。