Что означает синтаксис «:» в return?
никак. двоеточие имеет отношение к объекту, который возвращает функция.
Написано следующее: вернуть объект, ключ "var" двоеточие, оно же присвоение значения, в данном случае присваивается значение выражения a = 8, чему равно a = 8? Правильно, 8, потому что оператор присвоения "=" присваивает значение и возвращает его! Значит и в a, и в мусорном объекте, который вернет самовызывающаяся функция, по ключу var будет 8.