Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

Preguntas y respuestas frecuentes de la entrevista de JavaScript

Preguntas-y-respuestas-frecuentes-de-entrevistas-JavaScript
Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Tener JavaScript en su cartera aumenta las posibilidades de obtener un rol de desarrollador de software. Dicho esto, 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. Ahora se usa para desarrollar casi cualquier tipo de aplicación.

Antes de saltar a las preguntas de la entrevista, veamos las ventajas de aprender JavaScript.

JavaScript

JavaScript es un lenguaje de programación ligero, interpretado o compilado justo a tiempo. Es uno de los lenguajes centrales de la red mundial. Conoce los otros dos lenguajes principales de www. Será mejor que los busques si no lo haces.

JavaScript se crea principalmente para la web. Pero no es sólo para la web ahora. Con la ayuda de entornos como Nodo, Deno, etc., podemos ejecutarlo en casi cualquier plataforma.

Veamos algunas de sus ventajas.

Ventajas de JavaScript

  1. Fácil de empezar. Puedes aprenderlo incluso sin ningún conocimiento de codificación.
  2. Gran comunidad a su alrededor. Obtendrá toda la ayuda que desee si está atascado en cualquier lugar.
  3. Hay muchas bibliotecas/marcos creados con JavaScript, lo que ayuda a desarrollar aplicaciones más rápido.
  4. Podemos desarrollar aplicaciones frontend, backend, android, iOS, etc., con JavaScript. Podemos crear casi cualquier tipo de aplicación con él. Pero, es más robusto en el desarrollo web.

What are the data types in JavaScript?

Los tipos de datos se utilizan para almacenar diferentes tipos de datos. Los tipos de datos diferirán de uno lenguaje de programación a otro. En JavaScript, tenemos 8 tipos de datos. Vamos a verlos uno por uno.

  • Número
  • Cordón
  • Boolean
  • Indefinido
  • Nulo
  • BigInt
  • Símbolo
  • Objeto

Todos los tipos de datos excepto Objeto se llaman valores primitivos. Y son inmutables.

What are the built-in methods in JavaScript?

Los métodos incorporados en JavaScript son diferentes para cada tipo de datos. Podemos acceder a estos métodos incorporados usando el tipo de datos respectivo. Veamos algunos métodos incorporados para diferentes tipos de datos y estructuras de datos.

  1. Número
    • aFijo
    • Encadenar
    • ...
  2. Cordón
    • aLowerCase
    • comienza con
    • gráfico en
    • ...
  3. Formación
    • filtrar
    • mapa
    • para cada
    • ...

Hay muchos métodos integrados para cada tipo de datos. Puede consultar las referencias de todos los métodos integrados de diferentes tipos de datos y estructuras de datos.

How to create an array in JavaScript?

Las matrices son una de las estructuras de datos centrales en JavaScript. Las matrices pueden tener cualquier tipo de datos, ya que JavaScript es dinámico. Veamos cómo crear arreglos en JavaScript.

Podemos crear una matriz usando cuadrado soportes[]. Es sencillo y rápido crear objetos.

// Empty array
const arr = [];

// Array with some random values
const randomArr = [1, "One", true];

console.log(arr, randomArr);

Podemos crear una matriz usando Array constructor. La gente rara vez usa el constructor para crear arreglos en proyectos generales.

// Empty array
const arr = new Array();

// Array with some random values
const randomArr = new Array(1, "One", true);

console.log(arr, randomArr);

Las matrices de JavaScript son mutables, es decir, podemos modificarlas como queramos después de crearlas.

How to create an object in JavaScript?

Además de la matriz, el objeto es otra estructura de datos central en JavaScript. Los objetos están utilizando almacenar los pares clave-valor. 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 corchetes {}. Es sencillo y rápido crear objetos.

// Empty object
const object = {};

// Object with some random values
const randomObject = { 1: 2, one: "Two", true: false };

console.log(object, randomObject);

Podemos crear objetos usando Object constructor. La gente rara vez usa esto en proyectos generales.

// Empty object
const object = new Object();

// Object with some random values
const randomObject = new Object();
randomObject[1] = 2;
randomObject["one"] = "Two";
randomObject[true] = false;

console.log(object, randomObject);

Los objetos de JavaScript son mutables, es decir, podemos modificarlos después de crearlos, como se ve en el segundo ejemplo.

How do you debug JavaScript code?

El código de depuración no es sencillo. Y es diferente de un lenguaje de programación a otro, de un proyecto a otro, etc.; veamos las cosas comunes que se usan para depurar JavaScript.

#1. Inicio de sesión

Podemos usar el console.log declaraciones en varios lugares de nuestro código para identificar el error. El código dejará de ejecutar las siguientes líneas de código cuando haya un error en la línea anterior.

El registro es uno de los viejos métodos de depuración, que es bastante efectivo para proyectos pequeños. Es una técnica de depuración común para cualquier lenguaje de programación.

#2. Herramientas de desarrollo

JavaScript se utiliza principalmente para desarrollar aplicaciones web. Por lo tanto, casi todos los navegadores ahora tienen herramientas para desarrolladores que ayudan a depurar el código JavaScript.

Uno de los métodos de depuración más utilizados es establecer puntos de interrupción en las herramientas de desarrollo. Los puntos de interrupción detienen la ejecución de JavaScript y brindan toda la información sobre la ejecución en este momento.

Podemos establecer múltiples puntos de interrupción alrededor del lugar donde estamos recibiendo errores y ver qué los está causando. Es la forma más efectiva de depurar aplicaciones web de JavaScript.

#3. IDEs

Podemos usar los IDE para depurar JavaScript. VS Code admite la depuración con puntos de interrupción. La función de depuración puede diferir según el IDE que esté utilizando. Pero, la mayoría de los IDE tendrán esa característica.

How to add JavaScript code in an HTML file?

Podemos agregar el archivo HTML de JavaScript usando el script etiqueta. Puedes comprobar el ejemplo a continuación.

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Geekflare</title>
  </head>
  <body>
    <h1>Geekflare</h1>

    <script>
      // JavaScript code goes here
      console.log("This is JavaScript code");
    </script>
  </body>
</html>

What are cookies?

Las cookies son pares clave-valor que se utilizan para almacenar información pequeña. La información puede ser cualquier cosa. Podemos establecer el tiempo de caducidad de las cookies, que se eliminarán después de su tiempo de caducidad. Estos son ampliamente utilizados para almacenar la información de los usuarios.

Las cookies no se borrarán aunque actualicemos la página hasta que las eliminemos o caduquen. Puede verificar las cookies de cualquier aplicación web/página web en cualquier navegador abriendo las herramientas para desarrolladores.

Podemos leer la cookie en JavaScript usando document.cookie. Devolverá todas las cookies que creamos.

console.log("All cookies", document.cookie);

Devolverá una cadena vacía si no hay cookies.

Podemos crear las cookies configurando el par clave-valor en el document.cookie. Veamos un ejemplo.

document.cookie = "one=One;";

En la sintaxis anterior, el one clave de cookies y One es su valor. Podemos agregar más atributos a la cookie como dominio, ruta, expira, etc.; 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;expires=Jan 31 2023;path=/;";

En el código anterior, hemos agregado una fecha de vencimiento y una ruta a la cookie. Si no se proporciona la fecha de caducidad, la cookie se eliminará después de la sesión. La ruta predeterminada será la ruta del archivo. El formato de la fecha de caducidad debe estar en GMT.

Veamos cómo crear varias cookies.

document.cookie = "one=One;expires=Jan 31 2023;path=/;";
document.cookie = "two=Two;expires=Jan 31 2023;path=/;";
document.cookie = "three=Three;expires=Jan 31 2023;path=/;";

Las cookies no se sobrescribirán si la clave o la ruta son diferentes al configurar varias cookies. Si la clave y la ruta son las mismas, sobrescribirá la cookie anterior. Consulte el siguiente ejemplo, que sobrescribirá la cookie establecida anteriormente.

document.cookie = "one=One;expires=Jan 31 2023;path=/;";
document.cookie = "one=Two;path=/;";

Hemos eliminado la fecha de caducidad de la cookie y hemos cambiado el valor.

Utilice la fecha de caducidad en una fecha futura cuando esté probando el código para que funcione correctamente. Si mantienes la misma fecha Jan 31 2023 incluso después de la Jan 31 2023, no se crearán cookies.

Hemos visto cómo crear y actualizar cookies. Veamos cómo eliminar las cookies.

Eliminar las cookies es fácil. Simplemente cambie la fecha de caducidad de la cookie a cualquier fecha pasada. Compruebe el ejemplo a continuación.

// Creating cookies
document.cookie = "one=One;expires=Jan 31 2023;path=/;";
document.cookie = "two=Two;expires=Jan 31 2023;path=/;";
document.cookie = "three=Three;expires=Jan 31 2023;path=/;";

// Deleting the last cookie
document.cookie = "three=Three;expires=Jan 1 2023;path=/;";

No encontrará la última cookie en las cookies ya que se elimina en la última línea del código. Eso es todo por el tutorial de cookies min.

What are the different JavaScript frameworks?

Hay una gran cantidad de Marcos de JavaScript allí afuera. React, Vue, Angular, etc., para el desarrollo de UI. Express, Koa, Nest, etc., para el desarrollo del lado del servidor. SiguienteJS, Gatsby, etc., para la generación de sitios estáticos. React Native, Ionic, etc., para el desarrollo de aplicaciones móviles. Hemos mencionado algunos de los marcos de JavaScript aquí. Puede encontrar más marcos que llevará mucho tiempo explorar. Explora cuando los necesites.

Closures in JavaScript

Un cierre es una función agrupada con su alcance léxico y su entorno léxico principal. Con los cierres, podemos acceder a los datos del alcance externo. Los cierres se forman cuando se crean las funciones.

function outer() {
  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 son ampliamente utilizados en aplicaciones de JavaScript. Es posible que los hayas usado antes sin darte cuenta de que son cierres. Hay mucho más que esto para aprender acerca de los cierres. Asegúrese de haber aprendido este concepto por completo.

Hoisting in JavaScript

Hoisting es un proceso en JavaScript donde la declaración de variables, funciones y clases se mueve a la parte superior del alcance antes de ejecutar el código.

// Accessing `name` before declaring
console.log(name);

// Declaring and initializing the `name`
var name = "Geekflare";

Si ejecuta el código anterior, no verá ningún error. Pero en la mayoría de los idiomas, obtendrá el error. La salida será undefined ya que alzar solo mueve las declaraciones a la parte superior, y no lo inicializará hasta la línea número 3.

Cambie el var a let or const de la siguiente manera y vuelva a ejecutar el código.

// Accessing `name` before declaring
console.log(name);

// Declaring and initializing the `name`
const name = "Geekflare";

Ahora, obtendrá el error de referencia que dice que no podemos acceder a la variable antes de inicializarla.

ReferenceError: Cannot access 'name' before initialization

Entonces, aquí el let y const se introducen en ES6, al que no se puede acceder antes de inicializar, como sugiere el error. Esto se debe a que las variables declaradas con let or const estará en Zona Muerta Temporal (TDZ) hasta que la línea sea inicializada. No podemos acceder a las variables desde TDZ.

Currying in JavaScript

Currying es una técnica para convertir funciones con muchos parámetros en menos parámetros con múltiples llamadas. Con él, podemos convertir una función invocable add(a, b, c, d) en add(a)(b)(c)(d) invocable. Veamos un ejemplo de cómo hacerlo.

function getCurryCallback(callback) {
  return function (a) {
    return function (b) {
      return function (c) {
        return function (d) {
          return callback(a, b, c, d);
        };
      };
    };
  };
}

function add(a, b, c, d) {
  return a + b + c + d;
}

const curriedAdd = getCurryCallback(add);

// Calling the curriedAdd
console.log(curriedAdd(1)(2)(3)(4));

Podemos generalizar la getCurryCallback la función que se utilizará para diferentes funciones para convertir en invocables de curry. Puedes referirte a Información de JavaScript para más detalles al respecto.

Difference between document and window

El window es el objeto superior en el navegador. Contiene toda la información sobre la ventana del navegador, como historial, ubicación, navegador, etc.; está disponible globalmente en JavaScript. Podemos usarlo directamente en nuestro código sin ninguna importación. Podemos acceder a las propiedades y métodos del window objeto sin window.

El document es parte de window objeto. Todo el HTML cargado en la página web se convierte en el objeto de documento. El objeto del documento se refiere al elemento especial HTMLDocument, que tendrá diferentes propiedades y métodos como todos los elementos HTML.

El window el objeto representa la ventana del navegador y document representa el documento HTML cargado en esa ventana del navegador.

Difference between client-side and server-side

El lado del cliente se refiere al usuario final que usa la aplicación. El lado del servidor se refiere al servidor web donde se implementa la aplicación.

En la terminología de interfaz, podemos decir navegador en las computadoras de los usuarios como lado del cliente y servicios en la nube como lado del servidor.

Difference between innerHTML and innerText

Ambos innerHTML y innerText son las propiedades de los elementos HTML. Podemos cambiar el contenido de un elemento HTML usando estas propiedades.

Podemos asignar la cadena HTML a innerHTML una propiedad representada como HTML normal. Compruebe el siguiente ejemplo.

const titleEl = document.getElementById("title");

titleEl.innerHTML = '<span style="color:orange;">Geekflare</span>';

Agregar un elemento con la identificación title a su HTML y agregue el script anterior al archivo JavaScript. Ejecute el código y vea el resultado. Vas a Geekflare en color naranja. Y si inspecciona el elemento, estará dentro del span etiqueta. Entonces el innerHTML tomará la cadena HTML y la representará como HTML normal.

El innerText en el otro lado, tomará una cadena normal y la representará tal como está. No renderizará ningún HTML como innerHTML. Cambiar el innerHTML a innerText en el código anterior y verifique la salida.

const titleEl = document.getElementById("title");

titleEl.innerText = '<span style="color:orange;">Geekflare</span>';

Ahora, verá la cadena exacta que proporcionamos en la página web.

Difference between let and var

El let y var Las palabras clave se utilizan para crear variables en JavaScript. Él let La palabra clave se introduce en ES6.

El let es un alcance de bloque y var tiene un ámbito de función.

{
  let a = 2;
  console.log("Inside block", a);
}
console.log("Outside block", a);

Ejecute el código anterior. Obtendrá un error en la última línea ya que no podemos acceder let a fuera del bloque porque tiene un alcance de bloque. Ahora, cámbialo a var y ejecútelo de nuevo.

{
  var a = 2;
  console.log("Inside block", a);
}
console.log("Outside block", a);

No obtendrá ningún error ya que podemos acceder a la a variable fuera del bloque también. Ahora, reemplacemos el bloque con una función.

function sample() {
  var a = 2;
  console.log("Inside function", a);
}
sample();
console.log("Outside function", a);

Obtendrá un error de referencia si ejecuta el código anterior ya que no podemos acceder var a fuera de la función porque tiene un alcance de función.

Podemos redeclarar las variables usando var palabra clave pero no podemos volver a declarar las variables usando let palabra clave. Veamos un ejemplo.

var a = "Geekflare";
var a = "Chandan";
console.log(a);
let a = "Geekflare";
let a = "Chandan";
console.log(a);

La primera pieza de código no arrojará ningún error y el valor es a se cambiará al último valor asignado. El segundo fragmento de código arrojará un error ya que no podemos volver a declarar las variables usando let.

Difference between session storage and local storage

El almacenamiento de sesión y el almacenamiento local se utilizan para almacenar información en las computadoras de los usuarios a las que se puede acceder sin Internet. Podemos almacenar los pares clave-valor tanto en el almacenamiento de sesión como en el almacenamiento local. Tanto la clave como el valor se convertirán en cadenas si proporciona cualquier otro tipo de datos o estructura de datos.

El almacenamiento de la sesión se borrará después de que finalice la sesión (cuando se cierre el navegador). El almacenamiento de ubicación no se borrará hasta que lo borre.

Podemos acceder, actualizar y eliminar el almacenamiento de sesión y el almacenamiento de ubicación con sessionStorage y localStorage objetos respectivamente.

What is NaN in JavaScript?

El NaN se abrevia como No un número. Representa que algo no es un número legal/válido en JavaScript. Hay algunos casos en los que obtendremos NaN como salida como 0/0, undefined * 2, 1 + undefined, null * undefined etc ..,

What is Lexical scoping?

El alcance léxico se refiere a acceder a las variables desde el alcance de sus padres. Digamos 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. De manera similar, la función de segundo nivel puede acceder al alcance de la función más externa. Veámoslo en un ejemplo.

function outermost() {
  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();
}
outermost();

JavaScript usa una cadena de alcance para encontrar la variable cuando accedemos a ella en algún lugar del código. Primero, verificará la variable en el alcance actual y luego el alcance principal hasta el alcance global.

What is passed by value and passed by reference?

El pasar por valor y pasar por referencia son dos formas de pasar los argumentos a una función en JavaScript.

Pasar por valor: crea una copia de los datos originales y la pasa a la función. Entonces, cuando hagamos cambios en la función, no afectará los datos originales. Compruebe el siguiente ejemplo.

function sample(a) {
  // changing the value of `a`
  a = 5;
  console.log("Inside function", a);
}
let a = 3;
sample(a);
console.log("Outside function", a);

Verá que el valor original de la a no se cambia a pesar de que lo cambiamos dentro de la función.

Pasar por referencia: pasa la referencia de los datos a la función. Entonces, cuando realizamos cambios en la función, también cambiará los datos originales.

function sample(arr) {
  // adding a new value to the array
  arr.push(3);
  console.log("Inside function", arr);
}
let arr = [1, 2];
sample(arr);
console.log("Outside function", arr);

Verá que el valor original de la arr se cambia cuando lo cambiamos dentro de la función.

Nota: todos los tipos de datos primitivos se pasan por valor y los no primitivos se pasan por referencia.

What is memoization?

La memorización es una técnica que almacena los valores calculados en cachés y los usa cuando los necesitamos nuevamente sin volver a computarlos. Acelerará la ejecución del código si el cálculo es muy pesado. Hay una compensación de almacenamiento que no es un gran problema en comparación con el tiempo.

const memo = {};
function add(a, b) {
  const key = `${a}-${b}`;

  // 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(add(1, 2));
console.log(add(2, 3));
console.log(add(1, 2));

Es un ejemplo simple que demuestra la memorización. Aquí, sumar dos números no es un cálculo pesado. Es solo para la demostración.

What is the rest parameter?

El parámetro de descanso se utiliza para recopilar todos los parámetros restantes en una función. Digamos que tenemos una función que aceptará un mínimo de 2 argumentos y puede aceptar cualquier número de parámetros como máximo. Como no tenemos el número máximo de argumentos, podemos recopilar los primeros 2 parámetros con variables normales y todos los demás con el parámetro de descanso usando el operador de descanso.

function sample(a, b, ...rest) {
  console.log("Rest parameter", rest);
}

sample(1, 2, 3, 4, 5);

El resto parámetro será una matriz de los últimos tres argumentos en el ejemplo anterior. Con esto, podemos tener cualquier número de parámetros para una función.

Una función solo puede tener un parámetro de descanso. Y el parámetro resto debe ser el último en el orden de los parámetros.

What is object destructuring?

La desestructuración de objetos se utiliza para acceder a las variables del objeto y asignarlas a variables con los mismos nombres que las claves de objeto. Veamos un ejemplo.

const object = { a: 1, b: 2, c: 3 };

// Object destructuring
const { a, b, c } = object;

// Now, a, b, c will be used as normal variables
console.log(a, b, c);

Podemos cambiar las variables de variables desestructuradas en la misma línea de la siguiente manera.

const object = { a: 1, b: 2, c: 3 };

// Changing the names of `a` and `b`
const { a: changedA, b: changedB, c } = object;

// Now, changedA, changedB, c will be used as normal variables
console.log(changedA, changedB, c);

What is array destructuring?

La desestructuración de matrices se utiliza para acceder a las variables de la matriz y asignarlas a las variables. Veamos un ejemplo.

const array = [1, 2, 3];

// Array destructuring
// It's based on the index of the array
const [a, b, c] = array;

// Now, we can use a, b, c as normal variables
console.log(a, b, c);

What are event capturing and event bubbling?

Evento captura y evento burbujeante son dos formas de propagación de eventos en HTML DOM. Digamos que hay dos elementos HTML, uno dentro de otro. Y ocurre un evento en el elemento interior. Ahora, el modo de propagación de eventos decidirá el orden de ejecución de estos eventos.

Evento burbujeante: primero ejecuta el controlador de eventos en el elemento, luego en su elemento y luego sube hasta el elemento superior. Este es el comportamiento predeterminado de todos los eventos.

Captura de eventos: necesitamos especificar en caso de que necesitemos usar este tipo de propagación de eventos. Podemos especificarlo mientras agregamos el detector de eventos. Los eventos se ejecutarán en el siguiente orden si tenemos habilitada la captura de eventos.

  1. Los eventos comienzan a ejecutarse desde el elemento superior hasta el elemento de destino hacia abajo.
  2. El evento en el elemento de destino se ejecutará nuevamente.
  3. La propagación del evento burbujeante volverá a ocurrir hasta que el elemento superior esté activo.

Podemos detener la propagación del evento llamando event.stopPropogation un método en el controlador de eventos.

What are the Promises in JavaScript?

El Promise el objeto se utiliza para las operaciones asincrónicas que se completarán en el futuro con un estado de éxito o falla.

A Promise puede estar en uno de los siguientes estados.

  1. pending – cuando la operación todavía está en curso.
  2. fulfilled – cuando la operación se completa con éxito. Tendremos resultados (si los hay) en el estado de éxito.
  3. rejected – cuando la operación se completa con un fallo. Tendremos la razón (error) por la cual falló.

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);
  });

Puedes tener más de uno then encadenamiento si es necesario. Los datos previamente devueltos serán aceptados en el siguiente then llamar de vuelta.

Explain the different types of scope in JavaScript

Hay dos tipos de ámbito en JavaScript. Él alcance global y alcance local.

Es posible que también haya oído hablar del alcance de la función y del alcance del bloque. Son ámbitos locales para var y let, const respectivamente.

What are self-invoking functions?

Las funciones de autoinvocación son funciones sin nombre que se ejecutarán inmediatamente después de la creación. Veamos algunos ejemplos.

// Without any parameters
(function sayHello() {
  console.log("Hello, World!");
})();

// With parameters
(function add(a, b) {
  console.log("Sum", a + b);
})(1, 2);

Incluso podemos pasar los argumentos a las funciones de autoinvocación como has visto en el ejemplo.

What are arrow functions?

La función de flecha es azúcar sintáctica a la función normal con algunos cambios. Se comportan como funciones normales en casos de uso general. Las funciones de flecha son útiles cuando tenemos que tener devoluciones de llamada. Veamos su sintaxis.

// arrow functions will return by default if it doesn't have any brackets
let add = (a, b) => a + b;

console.log(add(1, 2));

Existen algunas diferencias entre las funciones de flecha y las funciones normales.

  • Las funciones de flecha no tienen sus propias this Unión. La this la palabra clave dentro de la función de flecha se refiere a su ámbito principal this.
  • Las funciones de flecha no se pueden usar como funciones de constructor

What are callbacks?

Una devolución de llamada es una función que se pasa a otra función que se invoca dentro de esa función. El uso de devoluciones de llamada es algo común en JavaScript. Veamos un ejemplo.

function sample(a, b, callback) {
  const result = a + b;
  callback(result);
}

function finished(result) {
  console.log("Finished with", result);
}

sample(1, 2, finished);

La función finished se pasa como una devolución de llamada al sample. finished La función se invoca con el resultado después de realizar alguna acción. Verá el uso de devoluciones de llamada principalmente en operaciones asincrónicas como promesas, setTimeout, etc.

What are the different types of errors?

Revisemos algunos errores en JavaScript.

Error de referencia: este error ocurrirá si la variable a la que estamos accediendo está disponible.

Error de tecleado: JavaScript arrojará este error si el error no coincide con otros tipos de errores. También ocurrirá cuando intentemos realizar una acción que no sea compatible con los datos.

Error de sintaxis: este error ocurrirá si la sintaxis de JavaScript no es correcta.

Hay algunos otros tipos de errores también. Pero estos son los tipos de error comunes en JavaScript.

What are the different scopes of variables in JavaScript?

Hay dos ámbitos de variables en JavaScript. Las variables declaradas mediante el var la palabra clave tendrá alcance de la función, y las variables declaradas con el let y const Tendrá la alcance del bloque.

Consulte la pregunta 17 para obtener más detalles sobre el alcance de estas variables.

What are escape characters in JavaScript?

La barra invertida es el carácter de escape en JavaScript. Se utiliza para imprimir algunos caracteres especiales que no podemos imprimir en general. Digamos que queremos imprimir apostrophe (') dentro de una cadena que no podemos hacer normalmente ya que la cadena terminará en el segundo apóstrofe. En ese caso, usaremos el carácter de escape para evitar terminar la cadena en ese punto.

const message = 'Hi, I\'m Geekflare';
console.log(message);

Podemos lograr el resultado anterior sin usar el carácter de escape reemplazando los apóstrofes simples externos con apóstrofes dobles. Pero es solo un ejemplo de cómo usar un carácter de escape. Hay otros personajes para los que definitivamente necesitamos un carácter de escape como \n, \t, \\ etc ..,

What are BOM and DOM?

Modelo de objetos del navegador (BOM): todos los navegadores tienen BOM que representa la ventana actual del navegador. Contiene nuestro objeto de ventana superior que se utiliza para manipular la ventana del navegador.

Modelo de objeto de documento (DOM): los navegadores crean el DOM cuando el HTML se carga en la estructura de árbol. Podemos manipular los elementos HTML usando la API DOM.

What is a screen object?

El detectar object es una de las propiedades del objeto de ventana global. Contiene diferentes propiedades de la pantalla en la que se representa la ventana actual del navegador. Algunas de las propiedades son anchura, altura, La orientación, profundidad de píxeles, etc.

Para concluir

Puede haber preguntas de seguimiento para todas las preguntas anteriores. Por lo tanto, debe preparar los conceptos en torno a todas las preguntas anteriores.

También puede explorar algunas preguntas frecuentes entrevista Java preguntas y respuestas.

Aprendizaje feliz 🙂

Gracias a nuestros patrocinadores
Más lecturas excelentes sobre la carrera
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Intente Intruder