1
respuesta

Orden del código

Saludos, tengo una duda. Una de las cosas en que mas se ha hecho énfasis es en que el código se lee de arriba a abajo. Entonces ¿Por qué la función createTask funciona correctamente si dentro de ella, la línea:

 const taskList=JSON.parse(localStorage.getItem("tasks")) || [];

Obtiene el objeto tasks de la API de almacenamiento web, sin embargo, las líneas:

const taskObj={
      value,
      dateFormat
    }
    taskList.push(taskObj);
    localStorage.setItem("tasks",JSON.stringify(taskList));

Que crean el objeto tasks aparecen después?

1 respuesta

Hola Juan, como estás?

En javascript existe el concepto de Hoisting que se refiere a cómo funcionan los contextos de ejecución, específicamente en las fases de creación y ejecución. Lo que sucede es que las declaraciones de variables y funciones son asignadas en memoria durante la fase de compilación, pero quedan exactamente en dónde las has escrito en el código.

Entonces el Hoisting permite ejecutar funciones antes de sus declaraciones. En la práctica, las declaraciones de funciones se colocan inicialmente en la memoria durante la fase de compilación, e incluso entonces permanecen en el mismo lugar donde se escriben. Un ejemplo sería:

function nombre(name) {
  console.log("Mi nombre es " + name);
}

nombre("Jose");
/*
El resultado del código es: "Mi nombre es Jose"
*/

//También gracias al Hoisting puede ser de ésta manera

nombre("Juan");

function nombre(name) {
  console.log("Mi nombre es " + name);
}
/*
El resultado del código es: "Mi nombre es Juan"
*/

Si tienes alguna duda sobre el contenido de los cursos, estaremos aquí para ayudarte.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios