Javascript не требует точек с запятой в конце операторов, но недостатком является то, что он должен угадывать, где находятся точки с запятой. Большую часть времени это не проблема, но иногда она изобрела точку с запятой, где вы ее не ставили.
Пример из моего поста об этом блоге ( Javascript - почти не основан на строках ):
Если вы отформатируете код следующим образом:
function getAnswer() {
var answer = 42;
return
answer;
}
Тогда это интерпретируется так:
function getAnswer() {
var answer = 42;
return;
answer;
}
Оператор return принимает форму без параметров, а аргумент становится собственным выражением.
То же самое происходит с вашим кодом. Функция интерпретируется как:
function test()
{
return;
{
javascript : "fantastic"
};
}