为什么会出现箭头函数?

1.传统的javascript函数语法并没有提供任何的灵活性,每一次你需要定义一个函数时,你都必须输入function () {},这至少会出现两个问题,ES6箭头函数都圆满解决了它。

JavaScript 箭头函数大致相当于 python 中的 lambda 函数 或 Ruby 中的 blocks。

这些是匿名函数,它们有自己的特殊语法,接受一定数量的参数,并在其封闭的作用域的上下文(即定义它们的函数或其他代码)中操作。

JavaScript箭头函数语法

1.没有参数时

var demo = function(){}

相当于:

var demo = () => {}

2.只有一个参数时

var demo = function(a){return a;}

相当于:

var demo = a => a

3.多个参数需要用到小括号,参数间逗号间隔

var demo = function(a,b){return a+b;}

相当于:

var demo = (a,b) => a+b

4 . 函数体多条语句需要用到大括号

var demo = function(a,b){if(a>b){ return a-b;} else{ return b-a; }}

相当于:

var demo = (a,b) =>{if(a>b){ return a-b;} else{ return b-a; }}

5 . 返回对象时需要用小括号包起来,因为大括号被占用解释为代码块了

var demo = (name,age) =>{return ({ name: name, age: age })}

6 .作为数组排序回调

var arr = [1, 9 , 2, 4, 3, 8].sort((a, b) => { if (a - b > 0 ) { return 1 } else { return -1 }})

注意:

箭头函数的确与传统函数有不同之处,但仍存在共同的特点。
例如:
1.对箭头函数进行typeof操作会返回“function”。
2.箭头函数仍是Function的实例,故而instanceof的执行方式与传统函数一致。
3.call/apply/bind方法仍适用于箭头函数,但就算调用这些方法扩充当前作用域,this也依旧不会变化。
4.箭头函数与传统函数最大的不同之处在,禁用new操作

以上就是荟萃JavaScript箭头函数语法小结的详细内容,更多请关注亿速云其它相关文章!