为什么会出现箭头函数?
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箭头函数语法小结的详细内容,更多请关注亿速云其它相关文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。