2016-06-13 2 views
6

Widziałem niektóre funkcje zdefiniowane jako function(){} i niektóre funkcje zdefiniowane jako () => {}.Jaka jest różnica między() => {} i function() {} w reaktywnym natywnym javascript?

Czy jest to związane z wersją Javascript ES6?

Ponadto, w jaki sposób użycie słowa kluczowego this zmienia się z jednej definicji funkcji na drugą?

+0

'() => {}' nazywana jest funkcją strzałkę. Oto dokumenty: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions –

Odpowiedz

12

The () => {} jest nazywany arrow function. Są one, jak powiedziałeś, częścią ES6. Z połączonej stronie: funkcja wyrażenie

Strzała ma krótszą składnię porównaniu do wyrażeń funkcyjnych i leksykalnie wiąże wartość this (nie wiąże własny this, arguments, super lub new.target). Funkcje strzałek są zawsze anonimowe.