1. 程式人生 > >js 之 箭頭函數 (未學完)

js 之 箭頭函數 (未學完)

-c ocs str ber 可選 -h web 參數 函數聲明

js之箭頭函數表達式


箭頭函數表達式的語法比函數表達式更短,並且沒有自己的this,arguments,super或 new.target。這些函數表達式更適用於那些本來需要匿名函數的地方,並且它們不能用作構造函數

語法

基礎語法

(參數1, 參數2, …, 參數N) => { 函數聲明 }
(參數1, 參數2, …, 參數N) => 表達式(單一)
//相當於:(參數1, 參數2, …, 參數N) =>{ return 表達式; }

// 當只有一個參數時,圓括號是可選的:
(單一參數) => {函數聲明}
單一參數 => {函數聲明}

// 沒有參數的函數應該寫成一對圓括號。
() => {函數聲明}

高級語法


//加括號的函數體返回對象字面表達式: 參數=> ({foo: bar}) //支持剩余參數和默認參數 (參數1, 參數2, ...rest) => {函數聲明} (參數1 = 默認值1,參數2, …, 參數N = 默認值N) => {函數聲明} //同樣支持參數列表解構 let f = ([a, b] = [1, 2], {x: c} = {x: a + b}) => a + b + c; f(); // 6

事例:

var materials = [
  ‘Hydrogen‘,
  ‘Helium‘,
  ‘Lithium‘,
  ‘Beryllium‘
];

materials.map(
function(material) { return material.length; }); // [8, 6, 7, 9] materials.map((material) => { return material.length; }); // [8, 6, 7, 9] materials.map(material => material.length); // [8, 6, 7, 9]

詳情地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions


js 之 箭頭函數 (未學完)