在使用Firefox开发者控制台时,我尝试做了这个操作:
var a = b => c => c;
然后是这个:
a(1)
我原本期望的结果是function()
(对应于c => c
),但实际上显示的是:
function a/<()
这个表达式的含义是什么?它显然不是合法的JavaScript,因为
/
和<
都不是函数名的有效字符。使用常规的函数表示法也会出现同样的情况,例如:
var a = function(b) { return function(c) { return c; } }
。这里是一张屏幕截图:
![enter image description here](https://istack.dev59.com/3nvrn.webp)
var a = b => c => d => d;
a(1)
结果是
a/</<()
这让我认为这是某种较不常见的速记符号。
function c => c
,正如它应该的那样。 - adeneo(b=>c=>c)(1)
给出了预期的结果...确实很奇怪。 - spenderb => c
表示一个函数,它将参数b
映射到返回值c
。 - Adjit