Por que “3 [1, 2];” retorna indefinido em JavaScript?

Eu estava olhando para algumas das chamadas AJAX que o GMail faz, e notei que às vezes o valor de retorno das chamadas começou com um número. Exemplo: (note que não há ponto e vírgula após a primeira linha)

3 
[1, 2];

Se eu fosse inserir isso em um console JavaScript, eu ficaria indefinido retornado. No entanto, se o segundo parâmetro for um número ou uma string, recebo o segundo parâmetro retornado. Exemplo:

3
4

Retorna 4.

Meu palpite é que eles estão fazendo isso para parar ataques do tipo jsonp, no entanto, alguém sabe o que a avaliação subjacente está sendo feita? No segundo caso, acredito que um ponto-e-vírgula é "inserido" após a primeira linha, o que faria com que retornar 4 fizesse sentido. No entanto, não consigo pensar em uma razão pela qual a primeira expressão retornaria indefinida.

questionAnswers(2)

yourAnswerToTheQuestion