在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操作
: » JavaScript中的=>(箭头函数)运算符的用法
原创文章,作者:6024010,如若转载,请注明出处:https://blog.ytso.com/251251.html