風雨砥礪,歲月如歌——Ts之箭頭函式
阿新 • • 發佈:2019-02-09
小編最近接觸到了箭頭函式(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");
控制檯資料:
感謝閱讀!