通過(guò)最近做網(wǎng)站時(shí)又對(duì)箭頭函數(shù)表達(dá)式加深了印象
使用箭頭函數(shù)表達(dá)式有兩個(gè)方面的作用:
1.箭頭函數(shù)表達(dá)式它的語(yǔ)法要比函數(shù)表達(dá)式更簡(jiǎn)潔
2.沒(méi)有自己的this,arguments枢舶,super或new.target
箭頭函數(shù)不會(huì)創(chuàng)建自己的this,它只會(huì)從自己的作用域鏈的上一層繼承this
它的基礎(chǔ)語(yǔ)法為:
(p1, p2, …, pN) => { et}?
(p1, p2, …, pN) => et
相當(dāng)于:(p1, p2, …, pN) =>{ return et; }
當(dāng)只有一個(gè)參數(shù)時(shí)彬祖,圓括號(hào)是可選的:
(sP) => { st }
sP => { st }
沒(méi)有參數(shù)的函數(shù)應(yīng)該寫(xiě)成一對(duì)圓括號(hào):
() => { st }
在箭頭函數(shù)出現(xiàn)之前些侍,每一個(gè)新函數(shù)根據(jù)它是被如何調(diào)用的來(lái)定義這個(gè)函數(shù)的this值:
1.如果是該函數(shù)是一個(gè)構(gòu)造函數(shù)庐扫,this指針指向一個(gè)新的對(duì)象
2.在嚴(yán)格模式下的函數(shù)調(diào)用下,this指向undefined
3.如果是該函數(shù)是一個(gè)對(duì)象的方法灭返,則它的this指針指向這個(gè)對(duì)象
new操作符
箭頭函數(shù)不能用作構(gòu)造器景用,因?yàn)楹?new 一起用就會(huì)報(bào)錯(cuò)
函數(shù)主題編寫(xiě)時(shí)可以簡(jiǎn)寫(xiě)也可以常規(guī)的書(shū)寫(xiě)
簡(jiǎn)寫(xiě)時(shí)只需要一個(gè)表達(dá)式和一個(gè)返回值。常規(guī)編寫(xiě)時(shí)必須有一個(gè)明確的返回值例如:
簡(jiǎn)寫(xiě)函數(shù) 省略return :var func = x => x * x;??
常規(guī)編寫(xiě) 明確的返回值?var func = (x, y) => { return x + y; };