当前位置:首页 > 编程技术 > 正文内容

ES6 箭头函数 Arrow Function

yc8882年前 (2022-12-23)编程技术233

ES6 箭头函数 Arrow Function

前言


ES6 新增了一种新的函数: 箭头函数 Arrow Function

箭头函数相当于匿名函数,简化了函数定义,将原函数的 function 关键字和函数名都删掉,并使用 => 连接参数和函数体

1. ES6 前定义函数


  1. // function 关键字
  2. function add(num1, num2) {
  3. return num1 + num2;
  4. }
  5. // 函数表达式
  6. const sub = function (num1, num2) {
  7. return num1 - num2;
  8. }
  9. // 对象字面量中定义函数
  10. const obj = {
  11. mul: function (num1, num2) {
  12. return num1 * num2;
  13. },
  14. div(num1, num2) {
  15. return num1 / num2;
  16. }
  17. }

2. ES6 箭头函数语法


当没有参数时, 可以定义为以下形式

  1. const test = () => {
  2. }

当只有一个参数时,括号可以省略。但是,如果这个参数是解构赋值,括号不能省略

  1. const test = res => {
  2. console.log(res);
  3. }
  4. const test = ({ code, msg }) => {
  5. console.log(res);
  6. }

当有多个参数时,括号不能省略

  1. const test = (num1, num2) => {
  2. return num1 + num2;
  3. }

当函数体只有一行语句时,可以省略 {}

  1. const test = (num1, num2) => num1 + num2;

使用箭头函数的场景: 闭包函数

  1. setTimeout(() => {
  2. }, 1000)

3. ES6 箭头函数返回值


当方法体只有一条语句时可以省略花括号

  1. // 普通写法
  2. // const math = (num1, num2) => {
  3. // return num1 + num2
  4. // }
  5. // 省略 {}
  6. const math = (num1, num2) => num1 + num2

当箭头函数需要返回一个数据时,可以使用下面写法

返回值数据类型是 字符串,数组,布尔值,=> 后面直接跟上数据即可,返回值如果是键值对形式的对象,需要使用 ({})

  1. const demo = {
  2. // 返回值是 []
  3. a1: () => [],
  4. // 返回值是 'abc'
  5. a2: () => 'abc',
  6. // 返回值是 true
  7. a3: () => true,
  8. // 返回值是键值对的对象时 需要使用 ({})
  9. // 因为使用 () => {} , {} 会被当作方法体的定界符
  10. a4: () => ({
  11. name: 'liang'
  12. }),

箭头函数直接返回一个数据的写法,多用于 vue,uniapp 开发中

  1. export default {
  2. name: "my-search",
  3. props: {
  4. config: {
  5. type: Object,
  6. default: () => ({
  7. height: 36,
  8. }),
  9. },
  10. },
  11. }

4. 箭头函数中的 this 到底是谁 ?


箭头函数中的 this 指向问题标准答案: 向外层作用域中一层层查找 this,直到有 this 的定义

本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10268.html

标签: JavaScript
分享给朋友:

“ES6 箭头函数 Arrow Function” 的相关文章