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ですか?
1
Ubuntu 13.04のnodejs v0.6.19で再現可能
—
mvp
jsfiddle.netで簡単にテストすると、JavaScriptが無効であることがわかります。
—
クリストフ
Node REPLバグのようです。2行をaに入れる
—
leesei
.jsと構文エラーが発生します
ところで、それが期日であるクレジット、これは@minimlによってirc(FreeNode #nodejs)で登場しました
—
hyde
Perlも同じ理由で似ています
—
Adrian Pronk 2013年
perl -ne '$x += $_; }{ print $x'。Perlの隠し機能を