JavaScript中的=>(箭头函数)运算符的用法

HTML5 herman 1277浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

在JavaScript中=>符号运算符,我们一般称之为箭头函数。因为从外形上来说,它确实是长的想一个箭头。而它的作用和function又类似,因此箭头函数就是由此而来。

在一些框架中我们经常会遇到一些箭头函数,例如下面的代码:

var site = () => {
    var url="www.xttblog.com";
    var title="业余草";
}

看起来很陌生,如果你没理解箭头函数的话。
遇到这样的代码你是不是就看不懂了?现实中就是这样,遇到一个我们不懂的语法,可能整本书就没法阅读下去了。那么本文就教你彻底的理解箭头函数。
上面的函数其实等价于:

var site = function(){
    var url="www.xttblog.com";
    var title="业余草";
}

翻译过来就是这样简单,简写你就是看不懂。
再来看一个例子:

var test = function(params){
    return params;
}

它等价于

var test = params => params;

看到上面的例子中有一个参数。那如果需要两个参数呢?看下面的例子:

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

它等价于

var add = (a,b) => a+b;

如果是两个参数,那就需要用括号给括起来。
上面的例子都没有具体的逻辑,如果有具体的逻辑,那又该怎么办呢?
看下面的例子:

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;
    }
}


下面再看一个返回对象的用法:

var site = (url,title) =>{
    return ({
        url: url,
        title: title
    })
}

再来一个数组排序的用法:

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

总结

箭头函数的确与传统函数有不同之处,但仍存在共同的特点。

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

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » JavaScript中的=>(箭头函数)运算符的用法