> var mk=require("./Make.js");
undefined
> var elem = new mk.Make();
undefined
> console.log(typeof elem.aaa);
function
undefined
> elem.aaa();
undefined
.............. ПЕРЕОПРЕДЕЛИЛ: this.aaa = function () { return "OK"; }
> var mk=require("./Make.js");
undefined
> var elem = new mk.Make();
undefined
> console.log(typeof elem.aaa);
function
undefined
> elem.aaa();
'OK'
undefined - это возврат последней выполненной команды в режиме REPL, заметьте console.log тоже вернул undefined. т.е в первом случае elem.aaa(), вернул undefined т.к. this.aaa = function () {}; действительно ничего не возвращает. Но в тоже время js видит функцию-выражение elem.aaa.
typeof elem.aaa === 'function'
Возврат undefined node в режиме REPL можно
изменить