本篇文章跟大家介紹一下es6的箭頭函數。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
ES6新增了使用箭頭語法定義語法函數表達式的能力。很大程度上,箭頭函數實例化的函數物件與正式的函數表達式所建立的函數物件行為是相同的。任何時候使用函數表達式的地方,都可以使用箭頭函數
let fn = (a, b) => { return a + b } let fun = function (a, b) { return a + b } console.log(fn(1, 2)) // 3 console.log(fun(1, 2)) // 3
箭頭函數適合嵌入函數
let arr = [1, 2, 3, 4]; console.log( arr.map(function (item) { return item + 1 }) ) // [2,3,4,5] console.log( arr.map((item) => { return item + 1 }) ) // [2,3,4,5]
箭頭函數如果只有一個參數,可以省略括號
let a = (i) => { console.log(i) } // 当前箭头函数只有一个参数,所以可以省略括号变成以下写法, let a = i => { console.log(i) }
箭頭函數如果有多個參數,中間用,逗號隔開
// 如果有多个参数,中间用逗号隔开 let a = (i, j, k) => { console.log(i, j, k) }
如果沒有參數,則圓括號必須加
// 如果没有参数,则圆括号必须加 let a = () => { console.log("箭头函数没有参数") }
箭頭函數也可以省略掉花括號,但這樣會改變函數的行為,使用花括號就跟常規函數一樣,可以在函數體內寫入多條語句,如果不帶花括號,那麼就說明箭頭後面只有一條語句,且隱式的返回這條語句的值
let a = () => { console.log("我是带花括号的箭头函数") console.log("我是带花括号的箭头函数") console.log("我是带花括号的箭头函数") } let a = () => console.log("我是不带花括号的箭头函数") let b = i => i + 1 console.log(b(1)) // 这个时候箭头函数隐式的返回了i+1的值,所以打印结果为2
雖然箭頭函數的語法簡潔,但是還是有很多場景不適合用,箭頭函數不能用arguments、super和target,也不能用作建構函數,箭頭函數也沒有prototype屬性。
推薦學習:Javascript影片教學
#以上是箭頭函數是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!