rkwvd,
Это не странность, так и должно быть. Точка с запятой после некоторых выражений обязательна, потому что не всегда интерпретатор будет автоматически вставлять её после (или до) выражений. Ваше первое выражение для интерпретатора выглядит так:
fun = function(){};
fun()[function(){alert(123)}][0](); // перенос не рассматривается, автоматически точка с запятой не вставлена.
Очевидно, что произойдет ошибка.