A declaration hija statement ta' funzjoni msemmija; an expression tassenja funzjoni lil varjabbli. Id-differenza prattika hija hoisting.
js
();
() { ; }
();
expressed = () { ; };
A declaration hija statement ta' funzjoni msemmija; an expression tassenja funzjoni lil varjabbli. Id-differenza prattika hija hoisting.
();
() { ; }
();
expressed = () { ; };
Funzjoni declarations huma hoisted mal-qorpihom, għalhekk il-funzjoni sħiħa teżisti qabel ma l-eżekuzzjoni tilħaqha. A function expression hija biss valur assignat lil varjabbli — fil-punt tal-ewwel sejħa, expressed għad undefined (ma' var) jew fit-TDZ (ma' 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) { ... }
Declarations jinqraw tajjeb għal funzjonijiet msemmija ta' livell ta' fuq u jibbenefika minn hoisting (tista' tiddefinihom wara l-użu tagħhom). Expressions huma meħtieġa għal arrow functions, callbacks, IIFEs, u l-assenjazzjoni ta' funzjonijiet bi mod kundizzjonali. Arrow functions huma dejjem expressions.