箭頭函數(shù)的特點

  • 不綁定arguments柴底,用rest參數(shù)…解決
  • 本身沒有this的概念摇邦,捕獲其所在上下文的 this 值召烂,作為自己的 this 值
  • 箭頭函數(shù)沒有原型屬性(prototype)
  • 箭頭函數(shù)不能當做Generator函數(shù),不能使用yield關(guān)鍵字
  • 箭頭函數(shù)不能換行
  • 箭頭函數(shù)不能使用new(會報錯)
  • 箭頭函數(shù)有constructor贡避、length屬性
  • 箭頭函數(shù)可以立即執(zhí)行

下面一波栗子走起继准,讀者自己對號入座:
栗子一(請在瀏覽器環(huán)境下測試躬审,不要使用node)

const A = () => {
  console.log(arguments)
}
A()
const B = (...args) => {
  console.log(args)
}
B()

栗子二

var obj = {
  age: 18,
  a: function () {
    console.log(this.age)//18
  },
  c: () => {
    console.log(this)//window
    console.log(this.age)//undefined
  },
  d: function () {
    return () => {
      console.log(this)//obj{}
      console.log(this.age)//18
    }
  }
}
obj.a()
obj.c()
obj.d()()
obj.d().call({ age: 20 })//18

箭頭函數(shù)會捕獲其所在上下文的 this 值棘街,作為自己的 this 值蟆盐;
但是我覺得這條和上條其實是一條,還是捕獲所在的上下文遭殉,比如下面這個例子:c是一個箭頭函數(shù)石挂,然后它的 this是指向window,這是為什么呢险污,因為箭頭函數(shù)捕獲的是obj{}這個對象的環(huán)境痹愚,然后這個環(huán)境的this指向的是window,就相當于上一條的例子:在d方法里面return的那個箭頭函數(shù)捕獲的是c:function(){}這個環(huán)境的this蛔糯,而這個環(huán)境的this是obj拯腮。
栗子三

const C = (...args) => {
  console.log(args)
}
C.call(null,1)//[ 1 ]
C.call(this,1)//[ 1 ]
C.call(1,1,2,3)//[ 1, 2, 3 ]
C.apply(1,[1,2,3])//[ 1, 2, 3 ]
console.log(C.prototype)//undefined

箭頭函數(shù)的this永遠指向其上下文的 this,任何方法都改變不了其指向蚁飒,如call(), bind(), apply(),比如栗子二中obj.d().call({ age: 20 })//18动壤,再來看稍微復(fù)雜的栗子:

var obj1 = {
  age: 18,
  a: function (add) {
    return (() => add + this.age)();
  },
  b: function (add) {
    var fn = v => v + this.age;
    var o = { age: 20 }
    return fn.call(o, add)
  }
}
console.log(obj1.a(1))//19
console.log(obj1.b(1))//19

PS:
箭頭函數(shù)不能當做Generator函數(shù),不能使用yield關(guān)鍵字
箭頭函數(shù)不能換行SyntaxError: Unexpected token =>
普通函數(shù)的this指向調(diào)用它的那個對象

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市淮逻,隨后出現(xiàn)的幾起案子琼懊,更是在濱河造成了極大的恐慌,老刑警劉巖弦蹂,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肩碟,死亡現(xiàn)場離奇詭異,居然都是意外死亡凸椿,警方通過查閱死者的電腦和手機削祈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脑漫,“玉大人髓抑,你說我怎么就攤上這事∮判遥” “怎么了吨拍?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長网杆。 經(jīng)常有香客問我羹饰,道長,這世上最難降的妖魔是什么碳却? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任队秩,我火速辦了婚禮,結(jié)果婚禮上昼浦,老公的妹妹穿的比我還像新娘馍资。我一直安慰自己,他們只是感情好关噪,可當我...
    茶點故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布鸟蟹。 她就那樣靜靜地躺著乌妙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪建钥。 梳的紋絲不亂的頭發(fā)上藤韵,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天,我揣著相機與錄音锦针,去河邊找鬼荠察。 笑死置蜀,一個胖子當著我的面吹牛奈搜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盯荤,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼馋吗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了秋秤?” 一聲冷哼從身側(cè)響起宏粤,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎灼卢,沒想到半個月后绍哎,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡鞋真,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年崇堰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涩咖。...
    茶點故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡海诲,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出檩互,到底是詐尸還是另有隱情特幔,我是刑警寧澤,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布闸昨,位于F島的核電站蚯斯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏饵较。R本人自食惡果不足惜拍嵌,卻給世界環(huán)境...
    茶點故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望告抄。 院中可真熱鬧撰茎,春花似錦、人聲如沸打洼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至炫惩,卻和暖如春僻弹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背他嚷。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工蹋绽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人筋蓖。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓卸耘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親粘咖。 傳聞我的和親對象是個殘疾皇子蚣抗,可洞房花燭夜當晚...
    茶點故事閱讀 45,781評論 2 361