function superFunc (arg) {};
function - запуск конструктора функции
superFunc - имя функции
() - переменные-аргументы
{} - контекст выполнения
получается сделали функцию с именем, аргументами и контекстом
при этом вызов superFunc() идет по имени функции, хочу обратить внимание, что скобки по время вызова, это оператор вызова.
var super = superFunc() - читаем справа налево, вызови функцию с именем superFunc и помести результат в переменную super.
var super = new superFunc() - читаем справа налево, вызови функцию с именем superFunc как конструктор, создай с него объект который будет помещен в переменную super. Тут стоит обратит внимание, что функция нечего не возвращает, а создает объект по конструктору.