开发者控制台中的 "function a/<()" 是什么?

What's this "function a/<()" in the developer console?

在 Firefox 中使用 Developer Console 时,我尝试这样做:

var a = b => c => c;

然后是这个:

a(1)

我预计结果是 function()(对应于 c => c),但显示的却是:

function a/<()

这个表达式是什么意思?这显然是不合法的 Javascript,因为 /< 都不是函数名称的有效字符。

使用函数的常规符号也会发生同样的情况,即 var a = function(b) { return function(c) { return c; } }

这是截图:

编辑:我尝试了以下

var a = b => c => d => d;
a(1)

结果是

a/</<()

这让我觉得这是某种鲜为人知的 shorthand 表示法。

the relative issue on bugzilla 上的评论者指出,它是匿名函数命名约定的一部分。

In particular,

  • a/b - inner b of var a = function() { var b = function() {}; }
  • a< - flags a "contributor" or basically some helper function which contributes to the function named a by being anonymous inside it.

所以a/<()意味着在a的函数体中声明了一个匿名函数。