var generateID=function() { var prefix="uid-"; var count=0; return function(){ count+=1; console.log(prefix+count) } } var create = generateID(); console.log(create()); console.log(create()); console.log(create());Salida esperada: uid-1 uid-2 uid-3
Ayúdame en la parte de error indefinida en la salida.
create no devuelve nada, por lo que si console.log(create()) se imprime indefinido
var generateID=function() { var prefix="uid-"; var count=0; return function(){ count+=1; console.log(prefix+count) } } var create = generateID(); create() create() create() var generateID2 = function() { var prefix="uid-"; var count=0; return function(){ count+=1; return prefix+count } } var create2 = generateID2(); console.log(create2()) console.log(create2()) console.log(create2())La función de create no devuelve ningún valor. Esta es la razón por la que console.log(create()); registro de llamadas undefined .
return function() { count+=1; return prefix+count; }