开发者控制台中的 "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 上的评论者指出,它是匿名函数命名约定的一部分。
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
的函数体中声明了一个匿名函数。
在 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 上的评论者指出,它是匿名函数命名约定的一部分。
a/b
- innerb
ofvar a = function() { var b = function() {}; }
a<
- flagsa
"contributor" or basically some helper function which contributes to the function nameda
by being anonymous inside it.
所以a/<()
意味着在a
的函数体中声明了一个匿名函数。