广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >es6箭头函数有哪些优点
  • 669
分享到

es6箭头函数有哪些优点

2024-04-02 19:04:59 669人浏览 安东尼
摘要

本篇内容介绍了“es6箭头函数有哪些优点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

本篇内容介绍了“es6箭头函数有哪些优点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

es6箭头函数的优点:1、简明的语法,例“parameters => {statements;};”,应用起来更加的方便;2、能够隐式返回;3、更直观的作用域和this的绑定(不绑定this)。

教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

我们都知道,在 javascript 里定义函数有多种方式。最常见的是用function关键字:

// 函数声明
function sayHi(someone) {
  return `Hello, ${someone}!`;
}
// 函数表达式
const sayHi = function(someone) {
  return `Hello, ${someone}`;
}

上面的函数声明和函数表达式,我们姑且称之为常规函数。

还有就是 ES6 新增的箭头函数语法:

const sayHi = (someone) => {
  return `Hello, ${someone}!`;
}

相对于原先js中的函数,ES6增长的箭头函数更加简洁,应用起来也更加的方便。

es6箭头函数的优点:

1、简明的语法

一个数组,把它变为原来的二倍之后输出。

删掉一个关键字,加上一个胖箭头;
没有参数加括号,一个参数可选择;
多个参数逗号分隔,

const numbers = [5,6,13,0,1,18,23];
//原函数
const double = numbers.map(function (number) {
    return number * 2;
})
console.log(double);
//输出结果
//[ 10, 12, 26, 0, 2, 36, 46 ]
//箭头函数     去掉function, 添加胖箭头
const double2 = numbers.map((number) => {
    return number * 2;
})
console.log(double2);
//输出结果
//[ 10, 12, 26, 0, 2, 36, 46 ]
//若只有一个参数,小括号能够不写(选择)
const double3 = numbers.map(number => {
    return number * 2;
})
console.log(double3);
//如有多个参数,则括号必须写;若没有参数,()须要保留
const double4 = numbers.map((number,index) => {
    return `${index}:${number * 2}`;  //模板字符串
})
console.log(double4);

2、能够隐式返回

显示返回就是svg

const double3 = numbers.map(number => {
    return number * 2;  
    //return 返回内容;
})

箭头函数的隐式返回就是函数

当你想简单返回一些东西的时候,以下:去掉return和大括号,把返回内容移到一行,较为简洁;
const double3 = numbers.map(number => number * 2);

补充:箭头函数是匿名函数,若需调用,须赋值给一个变量,如上 double3。匿名函数在递归、解除函数绑定的时候颇有用。

3、更直观的作用域和this的绑定(不绑定this

一个对象,咱们原先在函数中是这么写的this

一个对象,咱们原先在函数中是这么写的

const Jelly = {
    name:'Jelly',
    hobbies:['coding','Sleeping','Reading'],
    printHobbies:function () {
        this.hobbies.map(function (hobby) {
            console.log(`${this.name} loves ${hobby}`);
        })
    }
}
Jelly.printHobbies();
// undefined loves Coding
// undefined loves Sleeping
// undefined loves Reading

这说明 this.hobbies 的指向是正确的,this.name 的指向是不正确的;

当一个独立函数执行时,this 是指向window的

若是要正确指向,原先咱们的作法会是 设置变量替换spa

//中心代码
printHobbies:function () {
    var self = this; // 设置变量替换
    this.hobbies.map(function (hobby) {
        console.log(`${self.name} loves ${hobby}`);
    })
}
Jelly.printHobbies();
// Jelly loves Coding
// Jelly loves Sleeping
// Jelly loves Reading
在ES6箭头函数中,咱们这样写code
//中心代码
printHobbies:function () {
   this.hobbies.map((hobby)=>{
       console.log(`${this.name} loves ${hobby}`);
   })
}
// Jelly loves Coding
// Jelly loves Sleeping
// Jelly loves Reading

这是由于箭头函数中访问的this其实是继承自其父级做用域中的this,箭头函数自己的this是不存在的,这样就至关于箭头函数的this是在声明的时候就肯定了(词法做用域),this的指向并不会随方法的调用而改变。

“es6箭头函数有哪些优点”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: es6箭头函数有哪些优点

本文链接: https://www.lsjlt.com/news/92541.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • es6箭头函数有哪些优点
    本篇内容介绍了“es6箭头函数有哪些优点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • es5函数和es6箭头函数有哪些区别
    本篇内容介绍了“es5函数和es6箭头函数有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!区别:1、写法不同,ES6箭头函数为“()...
    99+
    2023-07-04
  • es6箭头函数和普通函数的区别有哪些
    这篇文章主要介绍“es6箭头函数和普通函数的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es6箭头函数和普通函数的区别有哪些”文章能帮助大家解决问题。ES6 箭头函数的主要区别如下:&n...
    99+
    2023-06-17
  • javascript ES6中箭头函数注意细节有哪些
    小编给大家分享一下javascript ES6中箭头函数注意细节有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言ES6标...
    99+
    2022-10-19
  • es6中箭头函数和普通函数的区别有哪些
    这篇文章主要介绍es6中箭头函数和普通函数的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 区别:1、箭头函数的定义要比普通函数定义简洁、清晰得...
    99+
    2022-10-19
  • es6箭头函数有什么特性
    这篇文章主要介绍“es6箭头函数有什么特性”,在日常操作中,相信很多人在es6箭头函数有什么特性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”es6箭头函数有什么特性”的疑惑...
    99+
    2022-10-19
  • JavaScript哪些场景不能使用箭头函数
    目录1. 定义对象方法 2.定义原型方法 3. 定义事件回调函数 4. 定义构造函数 1. 定义对象方法    JS 中对象方法的定义方式是在对象上定义一个指向函数的属性...
    99+
    2022-11-12
  • JavaScript ES6异步函数有哪些
    本篇内容主要讲解“JavaScript ES6异步函数有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript ES6异步函数有哪些”吧!异步功...
    99+
    2022-10-19
  • hooks函数组件有哪些优缺点
    Hooks函数组件主要有以下优点:1. 更简洁:相比于传统的类组件,Hooks函数组件具有更简洁的写法,可以将组件的逻辑和状态都写在...
    99+
    2023-10-10
    hooks
  • julia函数式编程有哪些优点
    Julia的函数式编程具有以下优点:1. 高度抽象和表达能力:函数式编程强调函数的纯粹性,避免副作用和可变状态,使代码更具可读性和可...
    99+
    2023-09-21
    julia
  • JS数组遍历函数有哪些优缺点
    这篇文章主要介绍“JS数组遍历函数有哪些优缺点”,在日常操作中,相信很多人在JS数组遍历函数有哪些优缺点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS数组遍历函数有哪些优缺点”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-29
  • c语言malloc函数有哪些优缺点
    malloc函数是C语言中用于动态分配内存的函数。它的主要优点和缺点如下:优点:1. 动态分配内存:malloc函数可以根据需要动态...
    99+
    2023-10-12
    c语言
  • python函数有哪些特点
    python函数的特点有以下几种函数可以赋值python中一般的变量和函数都是可以进行赋值的。函数可以是返回值python中函数可以当返回值返回,可以返回单个,也可以返回多个。函数可以在字典中使用python中函数可以容器中使用,如列表、字...
    99+
    2022-10-24
  • ES6数组新增方法知识点有哪些
    这篇文章主要介绍“ES6数组新增方法知识点有哪些”,在日常操作中,相信很多人在ES6数组新增方法知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ES6数组新增方法知...
    99+
    2022-10-19
  • es6与es5的构造函数有哪些区别
    这篇文章主要介绍“es6与es5的构造函数有哪些区别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es6与es5的构造函数有哪些区别”文章能帮助大家解决问题。 ...
    99+
    2022-10-19
  • python中函数知识点有哪些
    这篇文章主要介绍python中函数知识点有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!函数参数的两大分类形式参数函数定义阶段括号所写的参数实际参数函数调用阶段括号内传入的参数形参与实参的关系可以将形参看成是变量...
    99+
    2023-06-25
  • JavaScript递归函数有哪些特点
    JavaScript递归函数的特点如下:1. 自我调用:递归函数会自己调用自己,以解决一个问题的子问题,直到达到基本情况。2. 基本...
    99+
    2023-09-22
    JavaScript
  • NoSQL数据库有哪些优点
    本篇内容主要讲解“NoSQL数据库有哪些优点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“NoSQL数据库有哪些优点”吧!1. 简介SQL:SQL是结构化查询语...
    99+
    2022-10-19
  • java构造函数的特点有哪些
    Java构造函数的特点有以下几点:1. 构造函数的名称必须与类名完全相同,且没有返回类型,包括void类型。2. 构造函数在创建对象...
    99+
    2023-08-31
    java
  • javascript中的函数知识点有哪些
    这篇文章主要讲解了“javascript中的函数知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中的函数知识点有哪些”吧!Ja...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作