Sobes.tech
Junior

Jaký je rozdíl mezi dvěma způsoby definice funkce?

sobes.tech AI

Odpověď od AI

Hlavní rozdíl je v kontextu this.

Způsob definice funkce Rozdíl
deklarace funkce Kontext this je určen tím, jak je funkce volána. Je zvednuta před vykonáním kódu (hoisting).
šipková funkce Kontext this dědí z okolního (lexikálního) kontextu. Není zvednuta (bez hoistingu).
// deklarace funkce
function obycFunkce() {
  console.log(this); // `this` závisí na volání
}

// šipková funkce
const sipFunkce = () => {
  console.log(this); // `this` dědí z kontextu, ve kterém je funkce definována
};

Šipkové funkce nemají vlastní objekt arguments (je převzat z vnějšího kontextu) a nemohou být použity jako konstruktory s operátorem new.