Executando verificação de segurança...
Respondendo a [Não disponível] dentro da publicação Qual a diferença entre "NULL" e "UNDEFINED"?
2

Cuidado para não se confundirem!

O que acontece é que quando o console do Chrome identifica uma expressão que é válida mas não tem retorno ele retorna por padrão undefined.

Exemplo:

> function testeRetorno() {
    return true;
}
<- undefined

A declaração de uma função não retorna nada, por isso o Chrome retorna por padrão undefined. Observe que ele coloca uma setinha antes deste valor, algo como <-

Agora observe o que ocorre quando você simplesmente escreve o nome da função no console e dá enter:

> testeRetorno
<- ƒ testeRetorno() {
    return true;
}

Ele retorna o valor da variável teste retorno, que é uma função.

Por fim, ao executar essa função, como ela possui retorno, teremos true como retorno:

> testeRetorno()
<- true

"Então qual o motivo do console.log retornar dois valores?"
Ele não retorna dois valores! Ele primeiro imprime o valor solicitado e depois dá o retorno padrão quando a expressão não tem retorno, o undefined.

Perceba:

> console.log(3)
3 // valor solicitado para impressão
<- undefined // retorno padrão

Espero que tenha ajudado a entender essas diferenças. Qualquer dúvida só comentar.

Carregando publicação patrocinada...