小编最近接触到了箭头函数(Arrow Functions),诚然,我觉得它真的是一个绝妙的设计,所以来浅谈一下我的理由:
首先,它非常简洁:如果我用箭头函数写一个函数:
var sum = (arg1, arg2) => arg1 + arg2;
同样的,如果用js来写:
var sum = function (arg1, arg2) { return arg1 + arg2; };
是不是觉得好像省了不少力呢。
再来一个:
var myarray = [1, 2, 3, 4, 5];
console.log(myarray.filter(value => value % 2 == 0));
现在用js来写它:
var myarray = [1, 2, 3, 4, 5];
console.log(myarray.filter(function (value) { return value % 2 == 0; }));
当然,我觉得最重要的还是用箭头函数能非常的明确,不会出现莫名其妙的错误:
举个栗子:
这是一段获取股票价格的代码:
function getStock(name: string) {
this.name = name;
setInterval(function () {
console.log("name is:"+this.name)
},1000)
}
var stock = new getStock("IBM");
但是你运行起来会痛苦的发现,控制台啥都没有:
如果你用箭头函数来写它,那就不会出错啦:
function getStock(name: string) {
this.name = name;
setInterval(()=> {
console.log("name is:"+this.name)
},1000)
}
var stock = new getStock("IBM");
控制台数据:
感谢阅读!