typescript 箭头表达式

箭头表达式:用来声明匿名函数,消除传统匿名函数的this指针问题

1、无参

var sum = () => {}

2、一个参数

var sum = arg2 => {}

3、多个参数

var sum = (arg1,arg2) => { arg1 + arg2 }

demo

var myArray = [1, 2, 3, 4, 5];
console.log(myArray.filter(item => item%2 === 0)) // 2,4

箭头函数最大的优势是消除this的指针问题

function getStock(name) {
    this.name = name;
    setInterval(function () {
        console.log('name is :' + this.name);
    }, 1000);
}
var stock = new getStock('IBM');

这是传统的es5写法,name打印出来的是空

function getStock(name) {
    this.name = name;
    setInterval(() => {
        console.log('name is: ' + this.name);
    }, 1000);
}
var stock = new getStock('IBM');

用箭头表达式就打印出了IBM