繁体   English   中英

如何将具有多个参数的匿名函数转换为箭头函数?

[英]How to convert an anonymous function with multiple arguments into an arrow function?

我可以将匿名函数的值分配给这样的变量:

let x = function(y,z) { return y + z }(1,2);

x 的结果值为 3。按照https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions 上的指南,我认为使用箭头函数的等效方法应该是这样。

let x = (y = 1, z = 2) => { return y + z };

然而,在这种情况下 x 的值变为 NaN。 这是为什么?

let x = (y = 1, z = 2) => { return y + z }函数分配给变量,而不是它的调用。 要首先将函数调用分配给变量,您需要调用它。 所以,箭头函数等价于let y = function(y,z) { return y + z }(1,2); 将是:

 let x = ((y = 1, z = 2) => { return y + z })() // or let x2 = ((y, z) => { return y + z })(1,2) // or let x3 = ((y = 1, z = 2) => (y + z))() // or let x4 = ((y, z) => (y + z))(1,2) let y = function(y,z) { return y + z }(1,2); console.log(x) console.log(x2) console.log(x3) console.log(x4) console.log(y)
 .as-console-wrapper { max-height: 100% !important; top: 0; }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM