Tener JavaScript en su cartera aumenta sus posibilidades de obtener un puesto de desarrollador de software. Sin embargo, echemos un vistazo a las preguntas frecuentes de la entrevista de JavaScript.
JavaScript es uno de los lenguajes más utilizados en el desarrollo web. Hoy en día, se utiliza para desarrollar casi cualquier tipo de aplicación.
Antes de llegar a las preguntas de la entrevista, echemos un vistazo a los beneficios de aprender JavaScript.
JavaScript es un lenguaje de programación ligero, interpretado o compilado justo a tiempo. Es uno de los principales idiomas de la World Wide Web. Conoces los otros dos idiomas principales www. Será mejor que los busques si no lo haces.
JavaScript está hecho básicamente para la web. Pero ya no es sólo para la web. Con entornos como Node, Deno, etc., podemos ejecutarlo en casi cualquier plataforma.
Veamos algunos de los beneficios de esto.
- Ventajas de JavaScript
- ¿Cuáles son los tipos de datos que existen en JavaScript?
- ¿Cuáles son los métodos incorporados en JavaScript?
- ¿Cómo crear una matriz en JavaScript?
- ¿Cómo crear un objeto en JavaScript?
- ¿Cómo debuges el código JavaScript?
- 1. Registro
- 2-herramientas de desarrollador
- 3. IDE
- ¿Cómo agrego el código JavaScript a un archivo HTML?
- toadmin. ru
- ¿Qué son las cookies?
- ¿Cómo leo una cookie?
- ¿Cómo crear y eliminar cookies?
- ¿Cuáles son los diferentes marcos de JavaScript?
- Cierres en JavaScript
- Escalada en JavaScript
- Currying en JavaScript
- La diferencia entre un documento y una ventana
- La diferencia entre el lado del cliente y el lado del servidor
- La diferencia entre HTML interno y texto interno
- Diferencia entre let y var
- La diferencia entre el almacenamiento de sesión y el almacenamiento local
- ¿Qué es Nan en JavaScript?
- ¿Qué es el alcance léxico?
- ¿Qué se pasa por valor y se pasa por referencia?
- ¿Qué es la memorización?
- Ventajas de JavaScript
- ¿Cuáles son los tipos de datos que existen en JavaScript?
- ¿Cuáles son los métodos incorporados en JavaScript?
- ¿Cómo crear una matriz en JavaScript?
- ¿Cómo crear un objeto en JavaScript?
- ¿Cómo debuges el código JavaScript?
- 1. Registro
- 2-herramientas de desarrollador
- 3. IDE
- ¿Cómo agrego el código JavaScript a un archivo HTML?
- toadmin. ru
- ¿Qué son las cookies?
- ¿Cómo leo una cookie?
- ¿Cómo crear y eliminar cookies?
- ¿Cuáles son los diferentes marcos de JavaScript?
- Cierres en JavaScript
- Escalada en JavaScript
- Currying en JavaScript
- La diferencia entre un documento y una ventana
- La diferencia entre el lado del cliente y el lado del servidor
- La diferencia entre HTML interno y texto interno
- Diferencia entre let y var
- La diferencia entre el almacenamiento de sesión y el almacenamiento local
- ¿Qué es Nan en JavaScript?
- ¿Qué es el alcance léxico?
- ¿Qué se pasa por valor y se pasa por referencia?
- ¿Qué es la memorización?
- ¿Cuál es el parámetro de descanso?
- ¿Qué es la destrucción de objetos?
- ¿Qué es la destrucción de la matriz?
- ¿Qué es la captura de eventos y el burbujeo de eventos?
- ¿Cuáles son las promesas en JavaScript?
- Explique los diferentes tipos de ámbitos en JavaScript.
- ¿Cuáles son las funciones de autorreferencia?
- ¿Qué son las funciones de flecha?
- ¿Qué son las devoluciones de llamada?
- ¿Cuáles son los diferentes tipos de errores?
- ¿Cuáles son los diferentes alcances de variables en JavaScript?
- ¿Qué son los personajes de escape en JavaScript?
- ¿Cuál es la especificación y el DOM?
- ¿Qué es un objeto de pantalla?
- Conclusión
Ventajas de JavaScript
¿Cuáles son los tipos de datos que existen en JavaScript?
Los tipos de datos se utilizan para almacenar diferentes tipos de datos. Los tipos de datos diferirán de un lenguaje de programación a otro. En JavaScript, tenemos 8 tipos de datos. Veámoslos uno por uno.
- Número
- Hilo
- lógico
- Indefinido
- Cero
- Empezando
- Designación condicional
- Objeto
Todos los tipos de datos, excepto Objeto, se denominan valores primitivos. Y son inmutables.
¿Cuáles son los métodos incorporados en JavaScript?
Los métodos incorporados en JavaScript son diferentes para cada tipo de datos. Podemos acceder a estos métodos incorporados utilizando el tipo de datos apropiado. Echemos un vistazo a algunos métodos integrados para diferentes tipos de datos y estructuras de datos.
- minúsculas
- comienza con
- gráficoB
Hay muchos métodos integrados para cada tipo de datos. Puede verificar las referencias a todos los métodos integrados de diferentes tipos de datos y estructuras de datos.
¿Cómo crear una matriz en JavaScript?
Las matrices son una de las estructuras de datos básicas en JavaScript. Las matrices pueden contener cualquier tipo de datos porque JavaScript es dinámico. Veamos cómo crear arreglos en JavaScript.
Podemos crear una matriz usando corchetes []. Es simple y rápido crear objetos.
// Matriz vacía const arr = [];// Matriz con algunos valores aleatorios const randomArr = [1, "One", true]; consola. log(arr, randomArr);
Podemos crear una matriz usando el constructor Array. La gente rara vez usa el constructor para crear arreglos en proyectos comunes.
// vacío matriz const arr = new Array ();// matriz con algunos valores aleatorios const randomarr = new Array (1, "one", true); console. log (arr, randomarr);
Las matrices JavaScript son modificables, es decir, podemos modificarlas a voluntad después de que se creen.
¿Cómo crear un objeto en JavaScript?
Además de una matriz, un objeto es otra estructura de datos básica en JavaScript. Los objetos se utilizan para almacenar pares de valor clave. La clave debe ser un valor inmutable, mientras que el valor puede ser cualquier cosa. Veamos cómo crear objetos en JavaScript.
Podemos crear objetos usando aparatos ortopédicos rizados<>. Crear objetos es rápido y fácil.
// Object de objeto vacío CONST =<>;// Objeto con algunos valores aleatorios const randomobject =< 1: 2, one: "Two", true: false >; console. log (objeto, randomobject);
Podemos crear objetos usando el constructor de objeto. Las personas rara vez usan esto en proyectos comunes.
// vacío objeto const objeto = nuevo objeto ();// Objeto con algunos valores aleatorios const randomObject = new Object (); RandomObject [1] = 2; randomobject ["one"] = "dos"; randomObject [true] = false; console. log (objeto, randomobject);
Los objetos JavaScript son modificables, lo que significa que podemos cambiarlos después de que se creen, como puede ver en el segundo ejemplo.
¿Cómo debuges el código JavaScript?
El código de depuración no es una tarea fácil. Y difiere de un lenguaje de programación a otro, de un proyecto a otro, etc.; Veamos las cosas comunes utilizadas para depurar JavaScript.
1. Registro
Podemos usar las declaraciones de console. log en varios lugares de nuestro código para identificar un error. El código dejará de ejecutar las siguientes líneas de código si hay un error en la línea anterior.
El registro es una de las antiguas técnicas de depuración, muy efectivas para pequeños proyectos. Es una técnica de depuración común para cualquier lenguaje de programación.
2-herramientas de desarrollador
JavaScript se utiliza principalmente para desarrollar aplicaciones web. Por lo tanto, casi todos los navegadores ahora tienen herramientas de desarrollador para ayudar a depurar el código JavaScript.
Una de las técnicas de depuración más utilizadas es establecer puntos de interrupción en las herramientas del desarrollador. Los puntos de interrupción detienen la ejecución de JavaScript y proporcionan toda la información sobre la ejecución hasta ahora.
Podemos establecer múltiples puntos de interrupción donde ocurren errores y ver qué los está causando. Esta es la forma más eficiente de depurar aplicaciones web de JavaScript.
3. IDE
Podemos usar un IDE para depurar JavaScript. VS Code admite la depuración utilizando puntos de interrupción. La función de depuración puede variar según el IDE que esté utilizando. Pero la mayoría de los IDES tendrán esta característica.
¿Cómo agrego el código JavaScript a un archivo HTML?
Podemos agregar JavaScript a un archivo HTML utilizando la etiqueta de script. Puede verificar el ejemplo a continuación.
toadmin. ru
¿Qué son las cookies?
Las cookies son pares de valores clave utilizados para almacenar pequeños piezas de información. La información puede ser cualquier cosa. Podemos establecer una fecha de vencimiento para las cookies que se eliminarán cuando caducen. Se utilizan ampliamente para almacenar información del usuario.
Las cookies no se eliminarán, incluso si actualizamos la página, hasta que las eliminemos o hasta que expiramos. Puede consultar las cookies de cualquier aplicación web/página web en cualquier navegador abriendo las herramientas de desarrollador.
¿Cómo leo una cookie?
Podemos leer una cookie en JavaScript usando document. cookie. Devolverá todas las cookies que hemos creado.
console. log ("Todas las cookies", document. cookie);
Devolverá una cadena vacía si no hay galletas.
¿Cómo crear y eliminar cookies?
Podemos crear cookies configurando un par de valores clave en document. cookie. Veamos un ejemplo.
document. cookie = "One = One;";
En la sintaxis anterior, una es la clave de la cookie y otra es su valor. Podemos agregar atributos adicionales como dominio, ruta, fecha de vencimiento, etc. a la cookie; Cada uno de ellos debe estar separado por un punto y coma (;). Todos los atributos son opcionales.
Veamos un ejemplo con atributos.
document. cookie = "One = One; expiras = 31 de enero de 2023; ruta =/;";
En el código anterior, hemos agregado la fecha de vencimiento y la ruta a la cookie. Si no se proporciona una fecha de vencimiento, la cookie se eliminará después de la sesión. La ruta predeterminada será la ruta al archivo. El formato de la fecha de vencimiento debe estar en formato GMT.
Veamos cómo crear múltiples cookies.
document. cookie = "One = One; expiras = 31 de enero de 2023; ruta =/;"; document. cookie = "dos = dos; expiras = 31 de enero de 2023; ruta =/;"; document. cookie = "tres = tres; expiras = 31 de enero de 2023; ruta =/;;";
Las cookies no se sobrescribirán si la clave o la ruta es diferente cuando se establecen varias cookies. Si la clave y la ruta son los mismos, la cookie anterior se sobrescribirá. Vea el ejemplo a continuación que sobrescribirá el conjunto de cookies anterior.
document. cookie = "One = One; expiras = 31 de enero de 2023; ruta =/;"; document. cookie = "one = two; path =/;";
Hemos eliminado la fecha de vencimiento de la cookie y cambiamos el valor.
Use la fecha de vencimiento en el futuro cuando pruebe el código para que funcione correctamente. Si mantiene la misma fecha del 31 de enero de 2023 incluso después del 31 de enero de 2023, no se crearán cookies.
Hemos visto cómo crear y actualizar cookies. Veamos cómo eliminar las cookies.
Eliminar cookies es fácil. Simplemente cambie la fecha de vencimiento de las cookies a cualquier fecha anterior. Verifique el ejemplo a continuación.
// Creación de cookies document. cookie = "One = One; expiras = 31 de enero de 2023; ruta =/;"; document. cookie = "dos = dos; expiras = 31 de enero de 2023; ruta =/;"; document. cookie = "tres = tres; expiras = 31 de enero de 2023; ruta =/;";// Eliminar la última cookie document. cookie = "tres = tres; expiras = 1 de enero de 2023; ruta =/;;";
No encontrará la última cookie en cookies porque se elimina en la última línea de código. Eso es todo para el tutorial Min Cookies.
¿Cuáles son los diferentes marcos de JavaScript?
Hay muchos marcos de JavaScript disponibles. Reaccionar, vue, angular, etc. para el desarrollo de la interfaz de usuario. Express, KOA, Nest, etc. para el desarrollo del lado del servidor. Nextjs, Gatsby, etc. para construir sitios web estáticos. Reaccione nativo, iónico, etc. para el desarrollo de aplicaciones móviles. Aquí hemos mencionado algunos marcos de JavaScript. Puede encontrar más marcos que tardan mucho tiempo en aprender. Explorarlos cuando los necesite.
Cierres en JavaScript
Un cierre es una función asociada con su alcance léxico y su entorno léxico principal. Con cierres, podemos acceder a datos de alcance externo. Los cierres se forman cuando se crean funciones.
función externa ()< const a = 1; function inner() < // We can access all the data from the outer function scope here // The data will be available even if we execute this function outside the outer function // as inners' closure formed while creating it console.log("Accessing a inside inner", a); >return inner; >const innerfn = outer (); innerfn ();
Los cierres se utilizan ampliamente en aplicaciones JavaScript. Es posible que los haya usado antes sin darse cuenta de que son cierres. Hay mucho más que esto para aprender sobre los cierres. Asegúrese de comprender completamente el concepto.
Escalada en JavaScript
El levantamiento es un proceso en JavaScript que mueve la declaración de variables, funciones y clases a la parte superior del alcance antes de la ejecución del código.
// acceder a `name` antes de declarar console. log (nombre);// declarar e inicializar el `name` var name =" toadmin. ru ";
Si ejecuta el código anterior, no verá ningún error. Pero en la mayoría de los idiomas recibirás un error. La salida estará indefinida, porque levantar solo aumenta las declaraciones y no la inicializará hasta la línea número 3.
Cambie VAR a Let o Const de la siguiente manera y vuelva a ejecutar el código.
// acceder a `name` antes de declarar console. log (nombre);// declarar e inicializar el `name` const name =" toadmin. ru ";
Ahora recibirá un error de referencia diciendo que no podemos acceder a la variable antes de inicializarla.
ReferenceError: No se puede acceder al 'nombre' antes de la inicialización
Entonces, aquí Let y Const se introducen en ES6, a la que no se puede acceder antes de la inicialización, como sugiere el error. Esto se debe a que las variables declaradas con let o const estarán en la zona muerta temporal (TDZ) hasta que se inicialice la cadena. No podemos acceder a variables desde el TDZ.
Currying en JavaScript
El curry es un método para convertir funciones con una gran cantidad de parámetros a un número menor de parámetros con múltiples objetos invocables. Podemos usarlo para convertir una función llamable ADD (A, B, C, D) en una adición invocable (a) (b) (c) (d). Veamos cómo hacer esto con un ejemplo.
función getCurryCallback (devolución de llamada)< return function (a) < return function (b) < return function (c) < return function (d) < return callback(a, b, c, d); >; >; >; >; >función add (a, b, c, d)< return a + b + c + d; >const curriedadd = getCurryCallback (agregar);// llamando a la console Curriedadd. log (curriedadd (1) (2) (3) (4));
Podemos generalizar la función GetCurryCallback que se utilizará para que varias funciones se conviertan en currying objetos llamables. Puede consultar la información de JavaScript para obtener más detalles.
La diferencia entre un documento y una ventana
Una ventana es el objeto más alto en el navegador. Contiene toda la información sobre la ventana del navegador, como historia, ubicación, navegante, etc.; Está disponible a nivel mundial en JavaScript. Podemos usarlo directamente en nuestro código sin ninguna importación. Podemos acceder a las propiedades y métodos del objeto de la ventana sin una ventana.
Un documento es parte de un objeto ventana. Todo el código HTML cargado en una página web se convierte en un objeto de documento. Un objeto de documento se refiere a un elemento HTMLDocument especial, que tendrá otras propiedades y métodos como todos los elementos HTML.
El objeto de ventana representa la ventana del navegador y el objeto de documento representa el documento HTML cargado en esa ventana del navegador.
La diferencia entre el lado del cliente y el lado del servidor
El lado del cliente se refiere al usuario final que usa la aplicación. El lado del servidor se refiere al servidor web en el que se implementa la aplicación.
En términos de front-end, podemos decir que el navegador en las computadoras de los usuarios es el lado del cliente y los servicios en la nube son el lado del servidor.
La diferencia entre HTML interno y texto interno
Tanto innerHTML como innerText son propiedades de elementos HTML. Podemos modificar el contenido de un elemento HTML usando estas propiedades.
Podemos asignar la propiedad innerHTML a una cadena HTML que se muestra como HTML normal. Compruebe el siguiente ejemplo.
const tituloEl = documento. getElementById("titulo"); titleEl. innerHTML='toadmin. ru';
Agregue un elemento con el encabezado de identificación a su HTML y agregue el script anterior a su archivo JavaScript. Ejecute el código y vea el resultado. Usted toadmin. ru en color naranja. Y si marca el elemento, estará dentro de la etiqueta span. Por lo tanto, innerHTML tomará la cadena HTML y la mostrará como HTML normal.
El HTML interno del otro lado tomará la cadena normal y la mostrará tal cual. No mostrará HTML como innerHTML. Cambie innerHTML a innerText en el código anterior y verifique la salida.
const tituloEl = documento. getElementById("titulo"); titleEl. innerText=""toadmin. ru";
Ahora verá la cadena exacta que proporcionamos en la página web.
Diferencia entre let y var
Las palabras clave let y var se utilizan para crear variables en JavaScript. La palabra clave let apareció en ES6.
Let tiene alcance de bloque y var tiene alcance funcional.
< let a = 2; console.log("Inside block", a); >console. log("Bloque exterior", a);
Ejecute el código anterior. Recibirá un mensaje de error en la última línea ya que no podemos acceder a let a fuera del bloque porque está en el alcance del bloque. Ahora cámbielo a var y ejecútelo de nuevo.
< var a = 2; console.log("Inside block", a); >console. log("Bloque exterior", a);
No obtendrá ningún error ya que también podemos acceder a la variable fuera del bloque. Ahora reemplacemos el bloque con una función.
ejemplo de función ()< var a = 2; console.log("Inside function", a); >muestra(); console. log ("función exterior", a);
Obtendrá un error de referencia si ejecuta el código anterior porque no podemos acceder a VAR A fuera de la función porque está en el alcance de la función.
Podemos redeclarar las variables utilizando la palabra clave VAR, pero no podemos volver a decidir variables usando la palabra clave LET. Veamos un ejemplo.
var a = "toadmin. ru"; var a = "Chandan"; console. log (a);
Sea a = "toadmin. ru"; dejar a = "Chandan"; console. log (a);
El primer fragmento de código no causará ningún error y el valor de A se cambiará al último valor asignado. El segundo fragmento de código generará un error porque no podemos redeclarar las variables con Let.
La diferencia entre el almacenamiento de sesión y el almacenamiento local
El almacenamiento de sesión y el almacenamiento local se utilizan para almacenar información sobre las computadoras de los usuarios a las que se puede acceder sin Internet. Podemos almacenar pares de valores clave tanto en almacenamiento de sesión como en almacenamiento local. Tanto la clave como el valor se convertirán en cadenas si especifica cualquier otro tipo de datos o estructura de datos.
El repositorio de la sesión se borrará cuando finalice la sesión (cuando cierre el navegador). La tienda de ubicación no se borrará hasta que la aclaremos.
Podemos acceder, actualizar y eliminar el almacenamiento de la sesión y el almacenamiento de ubicación utilizando los objetos de SessionStorage y LocalStorage, respectivamente.
¿Qué es Nan en JavaScript?
Nan se abrevia como no un número. Significa que algo no es un número válido/aceptable en JavaScript. En algunos casos, obtendremos nan como salida, como 0/0, indefinido * 2, 1 + indefinido, nulo * indefinido, y así sucesivamente,
¿Qué es el alcance léxico?
El alcance léxico se refiere al acceso a las variables desde el alcance principal. Supongamos que tenemos una función con dos funciones internas. La función más interna puede acceder a las variables de alcance de sus dos funciones principales. Del mismo modo, la función de segundo nivel puede acceder al alcance de la función más externa. Veamos esto con un ejemplo.
function ourmot ()< let a = 1; console.log(a); function middle() < let b = 2; // `a` are accessible here console.log(a, b); function innermost() < let c = 3; // both `a` and `b` are accessible here console.log(a, b, c); >innermost(); > middle(); >más exterior();
JavaScript utiliza un alcance de alcance para encontrar una variable cuando accedemos a ella en algún lugar del código. Primero verificará la variable en el alcance actual, y luego en el alcance principal antes del alcance global.
¿Qué se pasa por valor y se pasa por referencia?
Pasar por valor y aprobar por referencia son dos formas de aprobar los argumentos de funciones en JavaScript.
Pasando por valor: una copia de los datos originales se crea y se pasa a la función. Entonces, cuando realizamos cualquier cambio en la función, no afectará los datos originales. Verifique el siguiente ejemplo.
muestra de función (a)< // changing the value of `a` a = 5; console.log("Inside function", a); >Sea A = 3; muestra (a); console. log ("función exterior", a);
Verá que el valor original de A no ha cambiado a pesar de que lo hemos cambiado dentro de la función.
Pase por referencia: pasa una referencia a los datos a la función. Entonces, cuando realizamos cualquier cambio en la función, también cambia los datos originales.
muestra de función (arr)< // adding a new value to the array arr.push(3); console.log("Inside function", arr); >Sea arr = [1, 2]; muestra (arr); console. log ("función exterior", arr);
Verá que el valor original de ARR ha cambiado cuando lo cambiemos dentro de la función.
NOTA: Todos los tipos de datos primitivos se pasan por valor y los tipos de datos no ejercicios se pasan por referencia.
¿Qué es la memorización?
La memoización es un método que almacena valores calculados en un caché y los usa cuando los necesitamos nuevamente, sin calcularlos nuevamente. Esto acelerará la ejecución del código si el cálculo es muy pesado. Hay una compensación entre el almacenamiento, que no es un gran problema en comparación con el tiempo.
const memo =<>; función add (a, b)< const key = `$-
Tener JavaScript en su cartera aumenta sus posibilidades de obtener un puesto de desarrollador de software. Sin embargo, echemos un vistazo a las preguntas frecuentes de la entrevista de JavaScript.
JavaScript es uno de los lenguajes más utilizados en el desarrollo web. Hoy en día, se utiliza para desarrollar casi cualquier tipo de aplicación.
Antes de llegar a las preguntas de la entrevista, echemos un vistazo a los beneficios de aprender JavaScript.
JavaScript es un lenguaje de programación ligero, interpretado o compilado justo a tiempo. Es uno de los principales idiomas de la World Wide Web. Conoces los otros dos idiomas principales www. Será mejor que los busques si no lo haces.
JavaScript está hecho básicamente para la web. Pero ya no es sólo para la web. Con entornos como Node, Deno, etc., podemos ejecutarlo en casi cualquier plataforma.
Veamos algunos de los beneficios de esto.
Ventajas de JavaScript
¿Cuáles son los tipos de datos que existen en JavaScript?
Los tipos de datos se utilizan para almacenar diferentes tipos de datos. Los tipos de datos diferirán de un lenguaje de programación a otro. En JavaScript, tenemos 8 tipos de datos. Veámoslos uno por uno.
- Número
- Hilo
- lógico
- Indefinido
- Cero
- Empezando
- Designación condicional
- Objeto
Todos los tipos de datos, excepto Objeto, se denominan valores primitivos. Y son inmutables.
¿Cuáles son los métodos incorporados en JavaScript?
Los métodos incorporados en JavaScript son diferentes para cada tipo de datos. Podemos acceder a estos métodos incorporados utilizando el tipo de datos apropiado. Echemos un vistazo a algunos métodos integrados para diferentes tipos de datos y estructuras de datos.
- minúsculas
- comienza con
- gráficoB
Hay muchos métodos integrados para cada tipo de datos. Puede verificar las referencias a todos los métodos integrados de diferentes tipos de datos y estructuras de datos.
¿Cómo crear una matriz en JavaScript?
Las matrices son una de las estructuras de datos básicas en JavaScript. Las matrices pueden contener cualquier tipo de datos porque JavaScript es dinámico. Veamos cómo crear arreglos en JavaScript.
Podemos crear una matriz usando corchetes []. Es simple y rápido crear objetos.
// Matriz vacía const arr = [];// Matriz con algunos valores aleatorios const randomArr = [1, "One", true]; consola. log(arr, randomArr);
Podemos crear una matriz usando el constructor Array. La gente rara vez usa el constructor para crear arreglos en proyectos comunes.
// vacío matriz const arr = new Array ();// matriz con algunos valores aleatorios const randomarr = new Array (1, "one", true); console. log (arr, randomarr);
Las matrices JavaScript son modificables, es decir, podemos modificarlas a voluntad después de que se creen.
¿Cómo crear un objeto en JavaScript?
Además de una matriz, un objeto es otra estructura de datos básica en JavaScript. Los objetos se utilizan para almacenar pares de valor clave. La clave debe ser un valor inmutable, mientras que el valor puede ser cualquier cosa. Veamos cómo crear objetos en JavaScript.
Podemos crear objetos usando aparatos ortopédicos rizados<>. Crear objetos es rápido y fácil.
// Object de objeto vacío CONST =<>;// Objeto con algunos valores aleatorios const randomobject =< 1: 2, one: "Two", true: false >; console. log (objeto, randomobject);
Podemos crear objetos usando el constructor de objeto. Las personas rara vez usan esto en proyectos comunes.
// vacío objeto const objeto = nuevo objeto ();// Objeto con algunos valores aleatorios const randomObject = new Object (); RandomObject [1] = 2; randomobject ["one"] = "dos"; randomObject [true] = false; console. log (objeto, randomobject);
Los objetos JavaScript son modificables, lo que significa que podemos cambiarlos después de que se creen, como puede ver en el segundo ejemplo.
¿Cómo debuges el código JavaScript?
El código de depuración no es una tarea fácil. Y difiere de un lenguaje de programación a otro, de un proyecto a otro, etc.; Veamos las cosas comunes utilizadas para depurar JavaScript.
1. Registro
Podemos usar las declaraciones de console. log en varios lugares de nuestro código para identificar un error. El código dejará de ejecutar las siguientes líneas de código si hay un error en la línea anterior.
El registro es una de las antiguas técnicas de depuración, muy efectivas para pequeños proyectos. Es una técnica de depuración común para cualquier lenguaje de programación.
2-herramientas de desarrollador
JavaScript se utiliza principalmente para desarrollar aplicaciones web. Por lo tanto, casi todos los navegadores ahora tienen herramientas de desarrollador para ayudar a depurar el código JavaScript.
Una de las técnicas de depuración más utilizadas es establecer puntos de interrupción en las herramientas del desarrollador. Los puntos de interrupción detienen la ejecución de JavaScript y proporcionan toda la información sobre la ejecución hasta ahora.
Podemos establecer múltiples puntos de interrupción donde ocurren errores y ver qué los está causando. Esta es la forma más eficiente de depurar aplicaciones web de JavaScript.
3. IDE
Podemos usar un IDE para depurar JavaScript. VS Code admite la depuración utilizando puntos de interrupción. La función de depuración puede variar según el IDE que esté utilizando. Pero la mayoría de los IDES tendrán esta característica.
¿Cómo agrego el código JavaScript a un archivo HTML?
Podemos agregar JavaScript a un archivo HTML utilizando la etiqueta de script. Puede verificar el ejemplo a continuación.
toadmin. ru
¿Qué son las cookies?
Las cookies son pares de valores clave utilizados para almacenar pequeños piezas de información. La información puede ser cualquier cosa. Podemos establecer una fecha de vencimiento para las cookies que se eliminarán cuando caducen. Se utilizan ampliamente para almacenar información del usuario.
Las cookies no se eliminarán, incluso si actualizamos la página, hasta que las eliminemos o hasta que expiramos. Puede consultar las cookies de cualquier aplicación web/página web en cualquier navegador abriendo las herramientas de desarrollador.
¿Cómo leo una cookie?
Podemos leer una cookie en JavaScript usando document. cookie. Devolverá todas las cookies que hemos creado.
console. log ("Todas las cookies", document. cookie);
Devolverá una cadena vacía si no hay galletas.
¿Cómo crear y eliminar cookies?
Podemos crear cookies configurando un par de valores clave en document. cookie. Veamos un ejemplo.
document. cookie = "One = One;";
En la sintaxis anterior, una es la clave de la cookie y otra es su valor. Podemos agregar atributos adicionales como dominio, ruta, fecha de vencimiento, etc. a la cookie; Cada uno de ellos debe estar separado por un punto y coma (;). Todos los atributos son opcionales.
Veamos un ejemplo con atributos.
document. cookie = "One = One; expiras = 31 de enero de 2023; ruta =/;";
En el código anterior, hemos agregado la fecha de vencimiento y la ruta a la cookie. Si no se proporciona una fecha de vencimiento, la cookie se eliminará después de la sesión. La ruta predeterminada será la ruta al archivo. El formato de la fecha de vencimiento debe estar en formato GMT.
Veamos cómo crear múltiples cookies.
document. cookie = "One = One; expiras = 31 de enero de 2023; ruta =/;"; document. cookie = "dos = dos; expiras = 31 de enero de 2023; ruta =/;"; document. cookie = "tres = tres; expiras = 31 de enero de 2023; ruta =/;;";
Las cookies no se sobrescribirán si la clave o la ruta es diferente cuando se establecen varias cookies. Si la clave y la ruta son los mismos, la cookie anterior se sobrescribirá. Vea el ejemplo a continuación que sobrescribirá el conjunto de cookies anterior.
document. cookie = "One = One; expiras = 31 de enero de 2023; ruta =/;"; document. cookie = "one = two; path =/;";
Hemos eliminado la fecha de vencimiento de la cookie y cambiamos el valor.
Use la fecha de vencimiento en el futuro cuando pruebe el código para que funcione correctamente. Si mantiene la misma fecha del 31 de enero de 2023 incluso después del 31 de enero de 2023, no se crearán cookies.
Hemos visto cómo crear y actualizar cookies. Veamos cómo eliminar las cookies.
Eliminar cookies es fácil. Simplemente cambie la fecha de vencimiento de las cookies a cualquier fecha anterior. Verifique el ejemplo a continuación.
// Creación de cookies document. cookie = "One = One; expiras = 31 de enero de 2023; ruta =/;"; document. cookie = "dos = dos; expiras = 31 de enero de 2023; ruta =/;"; document. cookie = "tres = tres; expiras = 31 de enero de 2023; ruta =/;";// Eliminar la última cookie document. cookie = "tres = tres; expiras = 1 de enero de 2023; ruta =/;;";
No encontrará la última cookie en cookies porque se elimina en la última línea de código. Eso es todo para el tutorial Min Cookies.
¿Cuáles son los diferentes marcos de JavaScript?
Hay muchos marcos de JavaScript disponibles. Reaccionar, vue, angular, etc. para el desarrollo de la interfaz de usuario. Express, KOA, Nest, etc. para el desarrollo del lado del servidor. Nextjs, Gatsby, etc. para construir sitios web estáticos. Reaccione nativo, iónico, etc. para el desarrollo de aplicaciones móviles. Aquí hemos mencionado algunos marcos de JavaScript. Puede encontrar más marcos que tardan mucho tiempo en aprender. Explorarlos cuando los necesite.
Cierres en JavaScript
Un cierre es una función asociada con su alcance léxico y su entorno léxico principal. Con cierres, podemos acceder a datos de alcance externo. Los cierres se forman cuando se crean funciones.
función externa ()< const a = 1; function inner() < // We can access all the data from the outer function scope here // The data will be available even if we execute this function outside the outer function // as inners' closure formed while creating it console.log("Accessing a inside inner", a); >return inner; >const innerfn = outer (); innerfn ();
Los cierres se utilizan ampliamente en aplicaciones JavaScript. Es posible que los haya usado antes sin darse cuenta de que son cierres. Hay mucho más que esto para aprender sobre los cierres. Asegúrese de comprender completamente el concepto.
Escalada en JavaScript
El levantamiento es un proceso en JavaScript que mueve la declaración de variables, funciones y clases a la parte superior del alcance antes de la ejecución del código.
// acceder a `name` antes de declarar console. log (nombre);// declarar e inicializar el `name` var name =" toadmin. ru ";
Si ejecuta el código anterior, no verá ningún error. Pero en la mayoría de los idiomas recibirás un error. La salida estará indefinida, porque levantar solo aumenta las declaraciones y no la inicializará hasta la línea número 3.
Cambie VAR a Let o Const de la siguiente manera y vuelva a ejecutar el código.
// acceder a `name` antes de declarar console. log (nombre);// declarar e inicializar el `name` const name =" toadmin. ru ";
Ahora recibirá un error de referencia diciendo que no podemos acceder a la variable antes de inicializarla.
ReferenceError: No se puede acceder al 'nombre' antes de la inicialización
Entonces, aquí Let y Const se introducen en ES6, a la que no se puede acceder antes de la inicialización, como sugiere el error. Esto se debe a que las variables declaradas con let o const estarán en la zona muerta temporal (TDZ) hasta que se inicialice la cadena. No podemos acceder a variables desde el TDZ.
Currying en JavaScript
El curry es un método para convertir funciones con una gran cantidad de parámetros a un número menor de parámetros con múltiples objetos invocables. Podemos usarlo para convertir una función llamable ADD (A, B, C, D) en una adición invocable (a) (b) (c) (d). Veamos cómo hacer esto con un ejemplo.
función getCurryCallback (devolución de llamada)< return function (a) < return function (b) < return function (c) < return function (d) < return callback(a, b, c, d); >; >; >; >; >función add (a, b, c, d)< return a + b + c + d; >const curriedadd = getCurryCallback (agregar);// llamando a la console Curriedadd. log (curriedadd (1) (2) (3) (4));
Podemos generalizar la función GetCurryCallback que se utilizará para que varias funciones se conviertan en currying objetos llamables. Puede consultar la información de JavaScript para obtener más detalles.
La diferencia entre un documento y una ventana
Una ventana es el objeto más alto en el navegador. Contiene toda la información sobre la ventana del navegador, como historia, ubicación, navegante, etc.; Está disponible a nivel mundial en JavaScript. Podemos usarlo directamente en nuestro código sin ninguna importación. Podemos acceder a las propiedades y métodos del objeto de la ventana sin una ventana.
Un documento es parte de un objeto ventana. Todo el código HTML cargado en una página web se convierte en un objeto de documento. Un objeto de documento se refiere a un elemento HTMLDocument especial, que tendrá otras propiedades y métodos como todos los elementos HTML.
El objeto de ventana representa la ventana del navegador y el objeto de documento representa el documento HTML cargado en esa ventana del navegador.
La diferencia entre el lado del cliente y el lado del servidor
El lado del cliente se refiere al usuario final que usa la aplicación. El lado del servidor se refiere al servidor web en el que se implementa la aplicación.
En términos de front-end, podemos decir que el navegador en las computadoras de los usuarios es el lado del cliente y los servicios en la nube son el lado del servidor.
La diferencia entre HTML interno y texto interno
Tanto innerHTML como innerText son propiedades de elementos HTML. Podemos modificar el contenido de un elemento HTML usando estas propiedades.
Podemos asignar la propiedad innerHTML a una cadena HTML que se muestra como HTML normal. Compruebe el siguiente ejemplo.
const tituloEl = documento. getElementById("titulo"); titleEl. innerHTML='toadmin. ru';
Agregue un elemento con el encabezado de identificación a su HTML y agregue el script anterior a su archivo JavaScript. Ejecute el código y vea el resultado. Usted toadmin. ru en color naranja. Y si marca el elemento, estará dentro de la etiqueta span. Por lo tanto, innerHTML tomará la cadena HTML y la mostrará como HTML normal.
El HTML interno del otro lado tomará la cadena normal y la mostrará tal cual. No mostrará HTML como innerHTML. Cambie innerHTML a innerText en el código anterior y verifique la salida.
const tituloEl = documento. getElementById("titulo"); titleEl. innerText=""toadmin. ru";
Ahora verá la cadena exacta que proporcionamos en la página web.
Diferencia entre let y var
Las palabras clave let y var se utilizan para crear variables en JavaScript. La palabra clave let apareció en ES6.
Let tiene alcance de bloque y var tiene alcance funcional.
< let a = 2; console.log("Inside block", a); >console. log("Bloque exterior", a);
Ejecute el código anterior. Recibirá un mensaje de error en la última línea ya que no podemos acceder a let a fuera del bloque porque está en el alcance del bloque. Ahora cámbielo a var y ejecútelo de nuevo.
< var a = 2; console.log("Inside block", a); >console. log("Bloque exterior", a);
No obtendrá ningún error ya que también podemos acceder a la variable fuera del bloque. Ahora reemplacemos el bloque con una función.
ejemplo de función ()< var a = 2; console.log("Inside function", a); >muestra(); console. log ("función exterior", a);
Obtendrá un error de referencia si ejecuta el código anterior porque no podemos acceder a VAR A fuera de la función porque está en el alcance de la función.
Podemos redeclarar las variables utilizando la palabra clave VAR, pero no podemos volver a decidir variables usando la palabra clave LET. Veamos un ejemplo.
var a = "toadmin. ru"; var a = "Chandan"; console. log (a);
Sea a = "toadmin. ru"; dejar a = "Chandan"; console. log (a);
El primer fragmento de código no causará ningún error y el valor de A se cambiará al último valor asignado. El segundo fragmento de código generará un error porque no podemos redeclarar las variables con Let.
La diferencia entre el almacenamiento de sesión y el almacenamiento local
El almacenamiento de sesión y el almacenamiento local se utilizan para almacenar información sobre las computadoras de los usuarios a las que se puede acceder sin Internet. Podemos almacenar pares de valores clave tanto en almacenamiento de sesión como en almacenamiento local. Tanto la clave como el valor se convertirán en cadenas si especifica cualquier otro tipo de datos o estructura de datos.
El repositorio de la sesión se borrará cuando finalice la sesión (cuando cierre el navegador). La tienda de ubicación no se borrará hasta que la aclaremos.
Podemos acceder, actualizar y eliminar el almacenamiento de la sesión y el almacenamiento de ubicación utilizando los objetos de SessionStorage y LocalStorage, respectivamente.
¿Qué es Nan en JavaScript?
Nan se abrevia como no un número. Significa que algo no es un número válido/aceptable en JavaScript. En algunos casos, obtendremos nan como salida, como 0/0, indefinido * 2, 1 + indefinido, nulo * indefinido, y así sucesivamente,
¿Qué es el alcance léxico?
El alcance léxico se refiere al acceso a las variables desde el alcance principal. Supongamos que tenemos una función con dos funciones internas. La función más interna puede acceder a las variables de alcance de sus dos funciones principales. Del mismo modo, la función de segundo nivel puede acceder al alcance de la función más externa. Veamos esto con un ejemplo.
function ourmot ()< let a = 1; console.log(a); function middle() < let b = 2; // `a` are accessible here console.log(a, b); function innermost() < let c = 3; // both `a` and `b` are accessible here console.log(a, b, c); >innermost(); > middle(); >más exterior();
JavaScript utiliza un alcance de alcance para encontrar una variable cuando accedemos a ella en algún lugar del código. Primero verificará la variable en el alcance actual, y luego en el alcance principal antes del alcance global.
¿Qué se pasa por valor y se pasa por referencia?
Pasar por valor y aprobar por referencia son dos formas de aprobar los argumentos de funciones en JavaScript.
Pasando por valor: una copia de los datos originales se crea y se pasa a la función. Entonces, cuando realizamos cualquier cambio en la función, no afectará los datos originales. Verifique el siguiente ejemplo.
muestra de función (a)< // changing the value of `a` a = 5; console.log("Inside function", a); >Sea A = 3; muestra (a); console. log ("función exterior", a);
Verá que el valor original de A no ha cambiado a pesar de que lo hemos cambiado dentro de la función.
Pase por referencia: pasa una referencia a los datos a la función. Entonces, cuando realizamos cualquier cambio en la función, también cambia los datos originales.
muestra de función (arr)< // adding a new value to the array arr.push(3); console.log("Inside function", arr); >Sea arr = [1, 2]; muestra (arr); console. log ("función exterior", arr);
Verá que el valor original de ARR ha cambiado cuando lo cambiemos dentro de la función.
NOTA: Todos los tipos de datos primitivos se pasan por valor y los tipos de datos no ejercicios se pasan por referencia.
¿Qué es la memorización?
La memoización es un método que almacena valores calculados en un caché y los usa cuando los necesitamos nuevamente, sin calcularlos nuevamente. Esto acelerará la ejecución del código si el cálculo es muy pesado. Hay una compensación entre el almacenamiento, que no es un gran problema en comparación con el tiempo.
; // checking whether we computed the value already or not if (memo[key]) < console.log("Not computing again"); return memo[key]; >// adding the newly computed value to cache // here cache is a simple global object memo[key] = a + b; return memo[key]; >console. log (agregar (1, 2)); console. log (agregar (2, 3)); console. log (agregar (1, 2));
Este es un ejemplo simple para demostrar memorización. Aquí, agregar dos números no es un cálculo complejo. Esto es solo para la demostración.
¿Cuál es el parámetro de descanso?
El parámetro REST se usa para recopilar todos los parámetros REST en una función. Supongamos que tenemos una función que toma al menos 2 argumentos y puede tomar cualquier número máximo de parámetros. Como no tenemos un número máximo de argumentos, podemos recopilar los primeros 2 parámetros con variables ordinarias y todo el resto con parámetros de descanso utilizando el operador REST.
Muestra de función (A, B,. REST)< console.log("Rest parameter", rest); >muestra (1, 2, 3, 4, 5);
El parámetro REST será una matriz de los últimos tres argumentos en el ejemplo anterior. Dicho esto, podemos tener cualquier número de parámetros para una función.
Una función puede tener solo un parámetro restante. Y el parámetro restante debe ser el último parámetro en el orden de parámetros.
¿Qué es la destrucción de objetos?
La destrucción de objetos se usa para acceder a las variables de un objeto y asignarlas a variables con los mismos nombres que las teclas de objeto. Veamos un ejemplo.
objeto const =< a: 1, b: 2, c: 3 >;// Const destructores de objetos< a, b, c >= objeto;// Ahora, a, b, c se usará como variables normales console. log (a, b, c);
Podemos cambiar las variables de las variables destrucidas en la misma línea de la siguiente manera.
objeto const =< a: 1, b: 2, c: 3 >;// Cambiar los nombres de `A` y` B` Const< a: changedA, b: changedB, c >= objeto;// ahora, cambiado, cambiadob, c se usará como variables normales console. log (cambiando, cambiadob, c);
¿Qué es la destrucción de la matriz?
La destrucción de la matriz se utiliza para acceder y asignar variables desde una matriz. Veamos un ejemplo.
estrera constante = [1, 2, 3];// Destructura de matriz // se basa en el índice de la matriz const [a, b, c] = matriz;// Ahora podemos usar A, B, C como variables normales console. log (a, b, c);
¿Qué es la captura de eventos y el burbujeo de eventos?
La captura de eventos y el burbujeo de eventos son dos formas de propagar eventos en el HTML DOM. Supongamos que hay dos elementos HTML, uno dentro del otro. Y se produce un evento en el elemento interno. Ahora el modo de propagación de eventos determinará el orden en el que se ejecutan estos eventos.
Propagación del evento: el controlador de eventos para un elemento se ejecuta primero, luego su elemento, y luego va hasta el elemento más alto. Este es el comportamiento predeterminado para todos los eventos.
Captura de eventos: necesitamos especificar en caso de que necesitemos usar este tipo de propagación de eventos. Podemos especificarlo al agregar el oyente del evento. Los eventos se ejecutarán en el siguiente orden si tenemos captura de eventos habilitada.
Podemos detener la propagación de eventos llamando al Método Event. stopPropogation en el controlador de eventos.
¿Cuáles son las promesas en JavaScript?
El objeto Promise se usa para operaciones asincrónicas que se completará con éxito o sin éxito en el futuro.
Una promesa puede ser en uno de los siguientes estados.
Veamos dos ejemplos de casos de éxito y fracaso.
// Promise which will complete successfully const successPromise = new Promise((resolve, reject) => < setTimeout(() =>< resolve(< message: "Completed successfully" >); >, 300); >); successPromise .then((data) => < console.log(data); >) .catch((error) => < console.log(error); >); // Promise which will complete with failure state const failurePromise = new Promise((resolve, reject) => < setTimeout(() =>< reject(new Error("Failing the promise for testing")); >, 300); >); failurePromise .then((data) => < console.log(data); >) .catch((error) => < console.log(error); >);
Puede tener más de uno y luego encadenar si es necesario. Los datos devueltos previamente se aceptarán en la próxima devolución de llamada.
Explique los diferentes tipos de ámbitos en JavaScript.
Hay dos tipos de alcance en JavaScript. Alcance global y alcance local.
También es posible que haya oído hablar del alcance de la función y el alcance del bloque. Estos son ámbitos locales para VAR y let, const respectivamente.
¿Cuáles son las funciones de autorreferencia?
Las funciones autónomos son funciones no identificadas que se ejecutarán inmediatamente después de que se creen. Veamos algunos ejemplos.
// sin parámetros (función sayhello ()< console.log("Hello, World!"); >) ();// con parámetros (función add (a, b)< console.log("Sum", a + b); >) (1, 2);
Incluso podemos aprobar argumentos a las funciones que se llaman a sí mismos, como vio en el ejemplo.
¿Qué son las funciones de flecha?
Una función de flecha es un azúcar sintáctico de una función normal con algunas modificaciones. Se comportan como funciones normales en casos de uso comunes. Las funciones de flecha son útiles cuando necesitamos devoluciones de llamada. Echemos un vistazo a su sintaxis.
// arrow functions will return by default if it doesn't have any brackets let add = (a, b) =>a + b; console. log (agregar (1, 2));
Hay algunas diferencias entre las funciones de flecha y las funciones regulares.
- Las funciones de flecha no tienen su propia vinculación. La palabra clave dentro de una función de flecha se refiere al alcance principal de esto.
- Las funciones de flecha no pueden usarse como funciones de constructor.
¿Qué son las devoluciones de llamada?
Una devolución de llamada es una función que se pasa a otra función que se llama dentro de esa función. El uso de devoluciones de llamada es común en JavaScript. Veamos un ejemplo.
muestra de función (a, b, devolución de llamada)< const result = a + b; callback(result); >función terminada (resultado)< console.log("Finished with", result); >muestra (1, 2, terminado);
La función completa se pasa como una devolución de llamada a la muestra. La función terminada se llama con el resultado después de que se haya realizado alguna acción. Verá el uso de devoluciones de llamada principalmente en operaciones asincrónicas como promesas, setTimeOut, etc.
¿Cuáles son los diferentes tipos de errores?
Verifiquemos algunos de los errores en JavaScript.
ReferenceError: este error ocurre si la variable a la que estamos accediendo está disponible.
TypeError: JavaScript generará este error si el error no coincide con otros tipos de error. También ocurrirá cuando intentemos realizar una acción que sea inconsistente con los datos.
SyntaxError: este error ocurre si la sintaxis de JavaScript es incorrecta.
También hay otros tipos de errores. Pero estos son los tipos comunes de errores en JavaScript.
¿Cuáles son los diferentes alcances de variables en JavaScript?
Hay dos ámbitos de variables en JavaScript. Las variables declaradas usando la palabra clave VAR tendrán el alcance de una función, y las variables declaradas usando LET y const tendrán el alcance de un bloque.
Consulte la pregunta 17 para obtener más información sobre el alcance de estas variables.
¿Qué son los personajes de escape en JavaScript?
La barra invertida es un carácter de escape en JavaScript. Se utiliza para imprimir algunos caracteres especiales que normalmente no podemos imprimir. Digamos que queremos imprimir un apóstrofe (‘) dentro de una cadena, lo que normalmente no podemos hacer porque la cadena terminaría con un segundo apóstrofo. En este caso, usaremos el carácter de escape para evitar que la cadena termine en ese punto.
const mensaje='Hola, soy "toadmin. ru'; console. log(mensaje);
Podemos lograr el resultado anterior sin usar un carácter de escape al reemplazar los apóstrofes simples externos con apóstrofes dobles. Pero este es solo un ejemplo del uso del carácter de escape. Hay otros caracteres para los que definitivamente necesitamos un carácter de escape, como n, t, etc.
¿Cuál es la especificación y el DOM?
Modelo de objetos del navegador (BOM): todos los navegadores tienen una especificación que representa la ventana del navegador actual. Contiene nuestro objeto de ventana superior, que se utiliza para controlar la ventana del navegador.
Modelo de objetos de documento (DOM): los navegadores crean un DOM cuando HTML se carga en una estructura de árbol. Podemos manipular elementos HTML utilizando la API DOM.
¿Qué es un objeto de pantalla?
El objeto de pantalla es una de las propiedades del objeto de ventana global. Contiene varias propiedades de la pantalla en la que se muestra la ventana actual del navegador. Algunas de las propiedades son ancho, alto, orientación, profundidad de píxel, etc.,
Conclusión
Puede haber preguntas adicionales sobre todas las preguntas anteriores. Por lo tanto, debe preparar conceptos sobre todas las preguntas anteriores.
También puede estudiar algunas preguntas y respuestas frecuentes de entrevistas de Java.