Por que o console JS retorna um valor indefinido extra? [duplicado
Esta pergunta já tem uma resposta aqui:
Por que esse código JavaScript imprime "indefinido" no console? 1 respostalguém pode me dizer o que está acontecendo aqui (testado no Firefox e Chrome
Tenho uma função simples retornando um fechament
function say (name) {
var msg = 'hallo';
return function () {
console.log(msg, name);
}
}
var sayName = say('joe');
sayName();
Se verificar o console do navegador, obtenho o resultado esperado:
Hallo Joe
No entanto, se eu deixar de fora a última linha e executar sayName () no console, obtenho o seguinte:
Hallo Joe
undefined
De onde vem o extra indefinido?