En definisjon er en navngitt funksjonserklæring; et uttrykk tilordner en funksjon til en variabel. Den praktiske forskjellen er hoisting.
();
() { ; }
();
expressed = () { ; };
En definisjon er en navngitt funksjonserklæring; et uttrykk tilordner en funksjon til en variabel. Den praktiske forskjellen er hoisting.
();
() { ; }
();
expressed = () { ; };
Funksjonsdefinisjonene hoistet med kroppen sin, så hele funksjonen finnes før utføringen når den. Et funksjonsuttrykk er bare en verdi som tilordnes en variabel — på det punkt med det tidlige kallet, expressed er fortsatt undefined (med var) eller i TDZ (med let/const).
// expression — for callbacks, conditional definitions, arrow functions
const handler = () => doThing();
const fn = condition ? a : b;
arr.map(x => x * 2);
// declaration — clear, hoisted top-level functions
function calculateTotal(items) { ... }
Definisjonene leses godt for toppnivå-navngitte funksjoner og drar nytte av hoisting (du kan definere dem etter bruken deres). Uttrykkene er nødvendige for pil-funksjoner, tilbakekall, IIFE-er, og betinget tilordning av funksjoner. Pil-funksjoner er alltid uttrykk.
Et bibliotek av IT-intervjuspørsmål med detaljerte svar — fra Junior til Senior.
Doner