Javascript解释以下语法
有人能解释一下JavaScript的语法吗:Javascript解释以下语法,javascript,syntax,ecmascript-6,Javascript,Syntax,Ecmascript 6,有人能解释一下JavaScript的语法吗: const result = (x, y) => (z) => { /* code area */ return something; } 我的假设: (x,y)=>(z)是对函数z的调用 (z) =>{}是对{}内任何内容的调用 问题: 如果是这样,我对代码流的期望是什么 e、 首先调用g:z,然后将值返回给匿名函数(x,y)=> 括号是必需的吗 关于访问代码区域中的变量x、y和z,是否可能 最后,请某人给出一
const result = (x, y) => (z) => {
/* code area */
return something;
}
我的假设:
提前谢谢 它与这段代码基本相同:
const result = function(x, y) {
return function(z) {
// do stuff
};
};
此
的处理与箭头函数不同,但除此之外,它是相同的
因此,当您第一次调用时,它将返回一个函数,但是参数被捕获在闭包中,因此您可以在函数中使用它们
const partiallyApplied = result(3,4);
const value = partiallyApplied(7);
这是ES6规范中的
箭头函数
语法。将其转换为经典ES5语法如下所示:
function (x, y) {
return function (z) {
/* code area */
return something;
}
}
变量x、y和z当然可以在代码区访问。
这种情况下唯一的区别是箭头函数没有自己的上下文,因此此
将引用父上下文(或窗口
,如果没有上下文)