Contenido del curso

JavaScript Prerequisites

Resumen

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).

¿Qué pide la consigna del Task 9.x?

  • Recibir un parámetro: operation, de tipo función.
  • Retornar un objeto con:
    • name: string con cualquier contenido.
    • result: método que ejecute operation.

Ejemplo de implementación basada en la consigna:

function answer(operation) { return { name: 'answer', result: function () { return operation(); } }; }

¿Cómo validar el comportamiento en Node?

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 prueba function op() { return 1 + 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.