JavaScript的ES6中的箭头函数的详细讲解

平时我们在JavaScript中编写函数都是 function 函数名(){ 函数体 } 的编写方式来编写函数的,但是在ES6更新后函数有了一种更将简洁的编写方式,那就是箭头函数。

但是箭头函数到底是怎么编写呢?箭头函数的编写规则有是什么呢?

接下来就让我们详细讲解一下箭头函数的编写规则

编写函数箭头函数有三大要素

  1. (): 参数
  2. =>: 箭头
  3. {}: 函数的执行体

那我们就用这三大要素先编写第一个简单的箭头函数foo来和我们的普通函数进行对比一下

箭头函数:

var foo = (num1, num2, num3) => {
  console.log(num1, num2, num3)
}

普通函数:

function foo(num1, num2, num3) {
  console.log(num1, num2, num3)
}

箭头函数的优势在于编写十分灵活而且编写的方式可以被很大的简化,那我们接下来就看一下 箭头函数有一些常见的简写:

简写一: 如果参数只有一个, ()可以省略

nums.forEach(item => {
  console.log(item)
})

简写二: 如果函数执行体只有一行代码, 那么{}也可以省略
强调: 并且它会默认将这行代码的执行结果作为返回值

var nums = [10, 20, 45, 78]
nums.forEach(item => console.log(item))
var newNums = nums.filter(item => item % 2 === 0)
console.log(newNums)

我们可以利用箭头函数默认将这行代码的执行结果作为返回值的特性来进行高阶函数的调用可以大大的简化代码,但是弊端是阶降低了代码的可读性

利用filter/map/reduce等高阶函数进行链式调用,取出数组中的偶数,然后全部乘于100,再求总和

var nums = [10, 20, 45, 78]
var result = nums.filter(item => item % 2 === 0)
                 .map(item => item * 100)
                 .reduce((preValue, item) => preValue + item)
console.log(result)

简写三: 如果一个箭头函数, 只有一行代码, 并且返回一个对象, 这个时候如何编写简写

错误写法:

// var bar = () => {
//   return { name: "why", age: 18 }
// }

因为系统在执行JavaScript代码时会进行语法语意分析,无法识别{}是代表函数体还是对象,导致识别错误,一般会识别成函数体name: “why”, age: 18。所以我们应该在{}外面再加一层()让系统识别成一个完成的函数语句{ name: “why”, age: 18 }

正确写法:

var bar = () => ({ name: "why", age: 18 })
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zayyo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值