Node.jsでテストされた、このようにJavaScriptで関数を呼び出すことができるのはなぜですか:
~$ node
> function hi() { console.log("Hello, World!"); };
undefined
> hi
[Function: hi]
> hi()
Hello, World!
undefined
> hi)( // WTF?
Hello, World!
undefined
>
最後の呼び出し が機能するのはなぜhi)(
ですか? node.js のバグですか、V8 エンジンのバグですか、公式には未定義の動作ですか、それともすべてのインタープリターに対して実際に有効な JavaScript ですか?