Interview Question

Difference between function declaration and expression?

Declarations create scoped function bindings; expressions create function values during evaluation.

💡 Concept ✅ Quick Revision ⚡ JavaScript

Answer

A function declaration declares a function binding, while a function expression produces a function value. • Function declarations are instantiated when their scope is created. • A function expression runs when evaluation reaches it. • Named function expressions can provide a local name useful for recursion and stack traces.

Example

Code
declared();
function declared() { console.log('ready'); }
const expressed = function () { return 'value'; };
Output
ready

Quick Revision

Declarations create scoped function bindings; expressions create function values during evaluation.