箭头函数表达式的语法比函数表达式更简洁,并且没有自己的thisargumentssupernew.target。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。

箭头函数的好处

  一、 箭头函数语法

(1)删掉function关键字加上=>

(2)没有参数加括号

(3)一个参数可以选择不加()

(4)多个参数必须加(),并且参数之间用逗号分割。

二、隐式返回

 三、箭头函数不绑定this,会捕获其所在的上下文的this值,作为自己的this值。

将map括号内的函数更改为箭头函数。

箭头函数不宜使用的场景

一、箭头函数是匿名函数,不能作为构造函数,不能使用new

二、创建对象方法时,应该使用function()

三、绑定事件的时候

四、箭头函数不绑定arguments,取而代之用可变参数解决。

五、箭头函数没有原型属性箭头,函数不能当做Generator函数,不能使用yield关键字

总结:

1:箭头函数的 this 永远指向其上下文的 this ,任何方法都改变不了其指向,如 call() , bind() , apply()

2:普通函数的this指向调用它的那个对象。

3:当你不需要用构造函数创建对象,不需要创建对象方法,不需要为元素绑定事件时,不需要绑定arguments时。我们就可以尽情的用箭头函数啦 。

链接:https://www.jianshu.com/p/69e1adf43802

箭头函数(Arrow Function)相关推荐

  1. 箭头函数与function的区别

    1.箭头函数与function定义函数的写法不同 //function function fn(a, b){return a + b; } //arrow function var foo = (a, ...

  2. JavaScript 箭头函数与function函数区别

    结合以下注释理解代码,有空再分步骤讲解 // 执行正常 function 方法名() 会直接将函数提升到顶部所以此步成功 normalFun(2); // 执行失败 因var会将arrowFun变量提 ...

  3. 10分钟理解ES6箭头函数

    前言 面试中,ES6 是一大考点,当被问到箭头函数时,我们都会说:箭头函数很好用,而且再也不用操心 this 的指向了. 面试官:箭头函数是挺好用的,那有哪些不适合使用箭头函数的场景呢? 箭头函数在大 ...

  4. ES6---箭头函数()={} 与function的区别(转载)

    1.箭头函数与function定义函数的写法: //function function fn(a, b){return a + b; } //arrow function var foo = (a, ...

  5. JavaScript 箭头函数

    文章目录 箭头函数语法 示例 1:无参数的箭头函数 示例 2:带一个参数的箭头函数 示例 3:作为表达式的箭头函数 示例 4:多行箭头函数 this 与箭头函数 在常规函数中 在箭头函数中 参数绑定 ...

  6. axios箭头函数和this问题处理

    箭头函数 ES6标准新增了一种新的函数: Arrow Function(箭头函数); # 箭头函数 x=> x*x # 正常常熟,和上面等同 function(x){return x*x }th ...

  7. 石川es6课程---4、箭头函数

    石川es6课程---4.箭头函数 一.总结 一句话总结: 相当于函数的简写,类似python lambda 函数,先了解即可 let show1 = function () {console.log( ...

  8. 箭头函数中的this的使用

    什么时候使用箭头函数 问题: 箭头函数中的this是如何查找的了? 答案: 向外层作用域中, 一层层查找this, 直到有this的定义. <!DOCTYPE html> <html ...

  9. ES6箭头函数中的this指向

    1箭头函数中的this (1)箭头函数中没有this : 这意味着 call() apply() bind() 无法修改箭头函数中的this (2)箭头函数中的this指向 :访问上一个作用域的thi ...

  10. 九、ES6的箭头函数

    一.箭头函数的基本使用 <!DOCTYPE html> <html lang="en"> <head><meta charset=&quo ...

最新文章

  1. 计算两个日期之间的年数
  2. python随机生成四位验证码的代码_Python random随机生成6位验证码示例代码
  3. 超实用的58个office快捷键汇总,办公室人员必备!
  4. C语言如何根据数据类型来处理不同的数据?
  5. python爬虫正则表达式实例-Python 正则表达式爬虫使用案例解析
  6. 『Go 语言底层原理剖析』文末送书
  7. 2019-2020年度总结
  8. 手把手教你学Dapr - 1. .Net开发者的大时代
  9. ubuntu上最使用jni最简单易懂的例子
  10. 深度学习-参数与超参数
  11. Python安装Matplotlib,wordcloud,jieba第三方库
  12. 飘逸的python - yield简明教程
  13. keil报错:*** FATAL ERROR L250,注册2032年
  14. 第三天---网络系统硬件
  15. Ubuntu双系统、ROS、软件安装教程
  16. 系统篇: fstab 文件详解
  17. 使用虚拟机安装操作系统可能出现的问题
  18. 解决IP被封的问题几种方法
  19. 故事版(StoryBoard)的学习-----使用prepareForSegue方法
  20. 多CPU 多核CPU | 多进程 多线程 | 并行 并发

热门文章

  1. 【机器学习】数值分析02——任意方程求根
  2. PowerDesigner导入现有表结构
  3. 解析SWD协议,烧写程序
  4. hubot+slack(slack部分)
  5. cxy安装rasa心得
  6. MASM汇编入门:寄存器数据的使用
  7. 安装RAC小记(Oracle11gR2)
  8. c# 桌面录屏,生成视频方案总结
  9. UnityMirror学习笔记(5):NetworkBehaviour 参数和方法接口 与 钩子方法 与 一些注意点
  10. python分析红楼梦中人物形象_红楼梦的人物形象分析