1. ¿Qué es JavaScript y en qué se diferencia de Java?
JavaScript es un lenguaje de programación interpretado, utilizado principalmente para el desarrollo web del lado del cliente. Se diferencia de Java en que no requiere compilación, es más ligero y está orientado a la manipulación de páginas web, mientras que Java es un lenguaje compilado y de propósito general.
2. ¿Qué son las promesas en JavaScript?
Las promesas son objetos que representan la eventual finalización o fracaso de una operación asíncrona. Permiten encadenar acciones con .then() y manejar errores con .catch().
3. Explica la diferencia entre var, let y const.
- var: Tiene alcance de función, permite
redeclaraciones y hoisting.
- let: Tiene alcance de bloque, no permite redeclaraciones dentro del mismo
bloque.
- const: Igual que let en cuanto a alcance, pero su valor no puede ser
reasignado.
4. ¿Qué es el event loop en JavaScript?
El event loop es el mecanismo que permite a JavaScript manejar operaciones asíncronas. Funciona revisando la pila de ejecución y la cola de tareas, ejecutando las funciones cuando la pila está vacía.
5. ¿Cuál es la diferencia entre == y === en JavaScript?
== compara valores después de convertirlos a un tipo común (comparación laxa), mientras que === compara tanto el valor como el tipo (comparación estricta).
6. ¿Qué es una función de callback?
Una función de callback es una función que se pasa como argumento a otra y se ejecuta después de que la operación haya terminado.
7. ¿Qué es hoisting en JavaScript?
Hoisting es el comportamiento por el cual las declaraciones de variables y funciones se mueven al inicio de su contexto antes de ejecutar el código.
8. ¿Qué son los closures en JavaScript?
Un closure es una función que recuerda el alcance en el que fue creada, incluso después de que ese contexto haya terminado. Permite mantener variables privadas y persistentes.
9. ¿Qué es la asincronía en JavaScript y cómo se maneja?
La asincronía permite que el código no bloquee la ejecución mientras espera una operación. Se maneja con callbacks, promesas y async/await.
10. ¿Qué frameworks o librerías de JavaScript conoces?
Algunos de los más usados son React, Angular, Vue.js, Node.js, Express y jQuery.