Assuming a function declaration is a statement where the function keyword is the first word of the statement, e.g.:
function() { console.log("foo") };
Assuming that a function expression is e.g. following:
for a named function
var func = function doSomething() { console.log("foo") };
for an anonymous function
var func = function() { console.log("foo") };
What is the case for the anonymous function, which is passed in as parameter in the following example:
for (let i = 0; i < 5; i++) {
setTimeout(function() { console.log(i); }, 200);
};
Is that a function declaration or is it a function expression since it is getting assigned to a parameter-variable of the setTimeout-method of WindowOrWorkerGlobalScope