Domina los prerrequisitos de JavaScript que evalúa Snap con un enfoque práctico. Aquí verás cómo abordar el Task 9.x trabajando con objetos y funciones, y qué estudiar en Mozilla Developer Network para comprender closures, hoisting, el prototipo y export. Con una guía directa, sabrás en qué enfocarte y cómo validar tu solución en Node.
¿Qué exige el dominio de JavaScript en Snap?
Este dominio no es solo Node: requiere bases sólidas del lenguaje JavaScript. Debes resolver dos ejercicios, Task 9.1 y Task 9.2, centrados en conocimientos generales y lógica. Pueden ser más extensos de lo habitual, así que conviene practicar la lectura cuidadosa de consignas y la validación local.
Entiende y practica closures y hoisting.
Domina múltiples formas de crear objetos y controlar el prototipo.
Refuerza la fundamentación de funciones y sus métodos.
Conoce las formas de trabajar con export.
Prioriza claridad y pruebas locales sin dejar código extra.
¿Cómo se resuelve el Task 9.x con objetos y funciones?
La consigna indica modificar la función answer en el archivo answer.js para que reciba un parámetro operation (de tipo función) y retorne un objeto con dos propiedades: name (cadena con cualquier contenido) y result (método que ejecuta la función recibida).
Prueba localmente creando una función simple y verificando la salida. La ejecución debe imprimir 3 al llamar el método result.
// función de pruebafunctionop(){return1+2;}const res =answer(op);console.log(res.result());// 3
Verifica que result ejecute operation y retorne su valor.
No dejes código extra en el envío; solo lo solicitado.
¿Qué conceptos de MDN debes dominar?
Revisa cuidadosamente la documentación de Mozilla Developer Network. Estos son los conceptos clave para resolver bien este dominio y los Tasks 9.1 y 9.2:
Closures: funciones que recuerdan su entorno léxico; útiles para encapsular estado.
Hoisting: cómo el motor eleva declaraciones y afecta el orden de uso de variables y funciones.
Múltiples formas de crear objetos: literales, funciones constructoras, Object.create, clases; elige según necesidad.
Prototipo: cómo funciona la cadena de prototipos y cómo controlar el prototipo al crear objetos.
Funciones y sus métodos: entender cómo declarar, invocar y usar métodos relacionados.
Export: conocer las diferentes formas de export según el entorno.
Enfócate especialmente en las formas de crear objetos y en controlar el prototipo, ya que facilitan estructurar soluciones limpias y previsibles. Reforzar closures, hoisting y el manejo de funciones completa la base para superar este dominio con confianza.
¿Tienes dudas puntuales del Task 9.x o de algún concepto de MDN? Cuéntalo en los comentarios y comparte tu enfoque para resolverlo.