遇到此问题时,我正在阅读一本有关react的书,并且在函数编程一章中。
const insideFn = logger =>
logger("They can be sent to other functions as arguments");
insideFn(message => console.log(message))
// They can be sent to other functions as arguments
现在我很困惑:
insideFn
的输出是logger
函数的参数,仅是一个参数,不会从logger
函数返回。那么为什么insideFn
的输出,logger
的参数呢?message
的类型-结果为字符串。为什么是字符串? message
不是函数吗?console.log
条消息时,它应该返回logger
的函数定义,但是它返回其参数?这对我来说没有道理?感谢您的解释。
答案 0 :(得分:2)
箭头功能使它有些混乱。也许更详细的例子会更清楚:
function insideFn(logger) {
logger("inside's log message");
// some computation here
return 42;
}
function myLogger(message) {
console.log(message);
}
insideFn(myLogger);