箭頭函式,若有了解過coffeescript的同學,或許對此印象深刻,因為它可以讓語法省略不少,特別是對於**函式,會讓**更清晰簡潔。
讓我們來寫乙個最簡單的arrows。
var sum = (a, b) => a + b; //此為expression
------編譯後-------
var sum = function (a, b) ;
從上面的**,可以看到,大致是差不多的,我們把function
變成了=>
,然後將arguments
寫在括號裡(若引數只有乙個,則不需要括號。但沒有引數,還是需要乙個空括號的,切記)。還有要注意這樣的expression寫法,是僅僅支援單行且自動生成return
的。
這次我們寫乙個帶有**函式的arrows。
numbers.foreach(num =>
})------編譯後------
numbers.foreach(function (num)
});
可以看到,編譯後是不存在return的,若需要返回這個陣列需要手動新增。
最後來看看,最酷炫的this,我們看一下在arrows裡this的表現。
var obj =
}------編譯後------
var obj = );
}};
可以看到,在foreach函式裡,this自動繫結為obj中的this,這個特性,可以讓我們免於非常多的煩惱。當然如果我們確實是需要**中的this,則可以不使用arrows。直接使用我們最熟悉的原生函式即可。
最後在看乙個例子來感受arrows帶來的爽快的程式設計體驗吧。
var square = arr =>
arr.map(num => num * num);
------編譯後------
var square = function (arr) );
};
ES6學習 箭頭函式
定義 params1,params2,params3.其中 中的內容為傳入箭頭函式的引數,為函式內的內容。規範 1 引數部分 1 如果有多個引數,不能省略 如果引數個數不明,可以用.rest表示,但是.rest必須放在最後 2 如果只有乙個引數,可以省略 3 如果沒有引數,那麼可以用 表示 eg 2...
ES6學習 箭頭函式
語法非常簡潔,箭頭就是這個樣 原來的函式寫法 function show 變成箭頭函式 let show 1 箭頭左邊的括號就是這個括號 1就是return的1 說白了,就是箭頭左邊是引數,右邊是返回值。函式名用變數表示。例 let show a,b a b 如果有多條語句 語句 return 例 ...
es6箭頭函式
本例是在了解es6知識後在原來定義函式的基礎上進行理解var searchvalue 查詢匹配物件 var button var input var select button if searchvalue.input undefined button.click else 重新整理 tableli...