[英]What would be the syntax on these two functions as an arrow function?
在弄清楚這些箭頭功能的語法時遇到麻煩。 我是新來的...
var numbers = [1, 25, 6, 88, 47, 77, 333, 500];
var even = function (num) {
return num % 2 === 0;
};
var evens = numbers.filter(even);
var plusThree = numbers.map(function(element) {
return element + 3;
});
var even = num => num % 2 === 0;
var plusThree = numbers.map(element => element + 3);
function (num) {
return num % 2 === 0;
};
會成為
(num) => num & 2 === 0
和
numbers.map(function(element) {
return element + 3;
});
會成為
numbers.map((element) => element + 3)
最一般的配方是,在這種形式的匿名功能下
function(arg1,arg2,...) { code }
相應的箭頭功能具有這種形式
(arg1, arg2,...) => { code }
在特殊情況下, code
只不過是帶有返回表達式的return語句,也就是說,當函數代碼中除了return語句之外沒有任何語句時。 在這種情況下,您會得到更好的東西。
function (arg1,arg2,...) { return expression; }
變成
(arg1,arg2,...) => expression
因此,除了已經發布的內容之外,您還可以始終執行類似的操作(例如,如果您希望箭頭功能具有副作用)
numbers.filter(num => { console.log(num); return num % 2 == 0})
編輯:作為注釋中的指針,僅當您有多個參數時,參數列表周圍的()
才是必需的。 所以以下內容也可以
arg1 => { code }
arg1 => expression
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.