Почему можно вызвать функцию в JavaScript, подобную этой, протестированной с помощью node.js:
~$ node
> function hi() { console.log("Hello, World!"); };
undefined
> hi
[Function: hi]
> hi()
Hello, World!
undefined
> hi)( // WTF?
Hello, World!
undefined
>
Почему работает последний вызов hi)(
? Это ошибка в node.js, ошибка в двигателе V8, официальное поведение undefined или действительно действующий JavaScript для всех интерпретаторов?