A função JavaScript não retorna o objeto quando há uma quebra de linha entre a declaração de retorno e o objeto?

Aqui está ojsfiddle

O código completo:

function foo1(){
    return {msg: "hello1"};
}
function foo2(){
    return
    {msg: "hello2"};
}

// output = "foo1 =  {"msg":"hello1"}"
console.log('foo1 = ' , JSON.stringify(foo1())); 

//output = " foo2 =  undefined "
console.log('foo2 = ' , JSON.stringify(foo2()));

A diferença entre os dois é que em foo2, o{msg: 'hello'} está em sua própria nova linha. Eu estava esperando o analisador ignorar os espaços em branco?

questionAnswers(2)

yourAnswerToTheQuestion