箭头函数的返回值

ES6中的箭头函数和平时使用的函数的区别

  • this
    大部分人都知道是this不在动态绑定了,而是在写箭头函数的时候就定义好了
  • 返回值
    关于这个问题的出现,是因为看到一些关于箭头函数的应用
    首先来猜下一下会console什么出来
let fn1 = function (a, b) {
    a + b
}
let fn2 = function (a, b) {
    return a + b
}
let fn3 = (a, b) => a + b
let fn4 = (a, b) => { a + b }
let fn5 = (a, b) => {return a + b}

fn1(1, 2)    
fn2(1, 2)
fn3(1, 2)
fn4(1, 2)
fn5(1, 2)

结果 undefined/ 3/ 3/ undefined/ 3
实验证明,在不添加大括号的时候箭头函数会默认return语句,加了大括号就正常,所以fn4和fn1一样显示undefined

应用

  • 连续的箭头函数使用
let fn = (x) => (y) => x+y 
fn(1) // y=>x+y
fn(2) // 3
  • 偏函数
    偏应用一个函数意思是通过预先填充原始函数的部分(不是全部)参数来创建一个新函数。
let fn = (x) => (y) => x+y 
let firstFn = fn(1) // 先填充一部分
firstFn(2) // 3 在补充后计算

还有很多很多应用,这里主要是想说明箭头函数返回的值,尤其是在连续使用箭头函数的情况下不被吓到。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容