I'm curious why a named function expression's name
property is the value of the function declaration construct's name, rather than the variable that can be used to execute the function.
function functionDeclaration(){
return;
}
var anonymousFunctionExpression = function(){
return;
}
var namedFunctionExpression = function functionName(){
return;
}
console.log(functionDeclaration.name);//As expected, function name is 'functionDeclaration'
console.log(anonymousFunctionExpression.name);//As expected, function name is 'anonymousFunctionExpression'
console.log(namedFunctionExpression.name);//Why is the function's name 'functionName' and not 'namedFunctionExpression?'