Estoy aprendiendo JavaScript en academia de código. La siguiente función se imprime en la pantalla, pero recibo un mensaje de error que dice que no se imprimió nada en la pantalla y debo asegurarme de haber incluido console.log, lo cual hice. ¿Hay algún error en el código que no puedo ver?

La sintaxis correcta sería:

var nameString = function (name) {
return "Hi, I am " + " " + name;
};
console.log(nameString("Mike"));

Lo que estaba haciendo antes llamó al comando “print” (console.log) DESPUÉS de que ya regresó de la función. Nada en el cuerpo de la función se ejecuta después de la declaración de devolución, y creo que incluso puede ser un error de sintaxis. Sin embargo, no solo eso: estaba pasando la función a console.log (..) en lugar del resultado de la función llamada con el parámetro Mike, que es lo que realmente desea. De lo contrario, solo está imprimiendo en la consola, sin embargo, Javascript intenta convertir el nombre de su función en una cadena, lo que probablemente no sea un error de sintaxis (tipografía débil para win! Lol).

De cualquier manera, desea imprimir el resultado de llamar a “nameString ()” con “Mike” como parámetro. nameString (“Mike”) devolverá “Hola, soy Mike” (¡intenta eliminar el espacio adicional que incluiste también!). Luego, desea imprimir lo que se haya devuelto, de modo que pegue la llamada de función con “Mike” dentro de la función console.log (..).

Sigue la respuesta de @Thomas Dietert.

Solo quería agregar que si continúa codificando, debe consultar JSHint (o JSLint o ESLint) para que estos errores se detecten al instante, ya que se marcan con el linter.

Tratar:
var nameString = function (nombre) {
devuelve “Hola, soy” + “” + nombre;
}

Console.log (nameString (“Mike”));

Debido a que devuelve una cadena, sale de la función antes de que realmente pueda imprimirse en la pantalla.

Si realmente desea imprimir el nombre en la pantalla dentro de la función:

var nameString = function (nombre) {
Console.log (“Hola, soy” + “” + nombre);
}

Hasta donde sé, una función de retorno es tan buena como una declaración de interrupción, solo que en realidad devuelve un valor. Se omitirá cualquier código después de una devolución.

Su consola.log nunca se alcanza porque tiene una declaración de devolución justo antes. Puede asignar la cadena que está creando a una variable, console.log la variable y luego devolver la variable y hará lo que desee.

console.log debe registrar el nombre y no nameString
También console.log debería hacerse idealmente antes del “retorno”

var nameString = function (name) {
console.log(name);
return "Hi, I am " + " " + name;

};
nameString (“Mike”);

Ya te han respondido a continuación, pero lo que quiero decir es que al codificar un error de sintaxis simple es un error y debes solucionarlo. Siempre esté atento durante la codificación.