Preguntas de entrevista sobre JavaScript

1. ¿Cuál es la diferencia entre los operadores == y ===?

JavaScript proporciona una comparación de igualdad estricta (===, !==) y de conversión de tipos (==, !=). Los operadores estrictos tienen en cuenta el tipo de variable, mientras que los operadores no estrictos realizan la corrección/conversión de tipo en función de los valores de las variables. Los operadores estrictos siguen las siguientes condiciones para diferentes tipos:

  • Dos cadenas son estrictamente iguales cuando tienen la misma secuencia de caracteres, la misma longitud y los mismos caracteres en las posiciones correspondientes.
  • Dos números son estrictamente iguales cuando son numéricamente iguales. es decir, tener el mismo valor numérico. Hay dos casos especiales en esto,
    1. NaN no es igual a nada, incluyendo NaN.
    2. Los ceros positivos y negativos son iguales entre sí.
  • Dos operandos booleanos son estrictamente iguales si ambos son verdaderos o ambos son falsos.
  • Dos objetos son estrictamente iguales si se refieren al mismo objeto.
  • Los tipos Null e Undefined no son iguales con ===, sino iguales con ==. es decir, null===indefinido –> false but null==undefined –> true.

Algunos de los ejemplos que cubren los casos anteriores:

0 == false   // true
0 === false  // false
1 == "1"     // true
1 === "1"    // false
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false
[]==[] or []===[] //false, refer different objects in memory
{}=={} or {}==={} //false, refer different objects in memory

2. ¿Qué es scope en JavaScript?

El alcance (o scope en inglés) es la accesibilidad de variables, funciones y objetos en alguna parte particular del código durante el tiempo de ejecución. En otras palabras, el alcance determina la visibilidad de las variables y otros recursos en las áreas del código.

3. ¿Cuál es la diferencia entre let y var?

Revisemos las diferencias

varlet
Ha estado disponible desde el comienzo de JavaScriptIntroducido como parte de ES6
Tiene alcance de funciónTiene alcance de bloque
Las variables se elevarán en la parte superior del bloqueNo eleva la variable

Tomemos un ejemplo para ver la diferencia:

function userDetails(username) {
   if(username) {
     console.log(salary); // undefined due to hoisting
     console.log(age); // ReferenceError: Cannot access 'age' before initialization
     let age = 30;
     var salary = 10000;
   }
   console.log(salary); //10000 (accessible to due function scope)
   console.log(age); //error: age is not defined(due to block scope)
}
userDetails('John');

4. ¿Cuál es el propósito del método splice?

El método splice() se utiliza para agregar o quitar elementos a/desde un arreglo y a continuación, devuelve el elemento quitado. El primer argumento especifica la posición del arreglo para la inserción o eliminación, mientras que el segundo argumento opcional indica el número de elementos que se van a eliminar. Cada argumento adicional se agrega al arreglo.

Algunos de los ejemplos de este método son:

let arrayIntegersOriginal1 = [1, 2, 3, 4, 5];
let arrayIntegersOriginal2 = [1, 2, 3, 4, 5];
let arrayIntegersOriginal3 = [1, 2, 3, 4, 5];

let arrayIntegers1 = arrayIntegersOriginal1.splice(0,2); // returns [1, 2]; original array: [3, 4, 5]
let arrayIntegers2 = arrayIntegersOriginal2.splice(3); // returns [4, 5]; original array: [1, 2, 3]
let arrayIntegers3 = arrayIntegersOriginal3.splice(3, 1, "a", "b", "c"); //returns [4]; original array: [1, 2, 3, "a", "b", "c", 5]

5. ¿Qué es un operador condicional en JavaScript?

El operador condicional (ternario) es el único operador de JavaScript que toma tres operandos que actúan como un atajo para las instrucciones if.

var isAuthenticated = false;
console.log(isAuthenticated ? 'Hello, welcome' : 'Sorry, you are not authenticated'); //Sorry, you are not authenticated

6. ¿Qué son los tipos de datos primitivos?

Un tipo de datos primitivo son datos que tienen un valor primitivo (que no tiene propiedades ni métodos). Hay 7 tipos de tipos de datos primitivos:

  • string
  • number
  • boolean
  • null
  • undefined
  • bigint
  • symbol

7. ¿Qué es typescript?

TypeScript es un superconjunto tipado de JavaScript creado por Microsoft que agrega tipos opcionales, clases, asincrónico/await y muchas otras características, y se compila en JavaScript simple. Angular esta construido completamente en TypeScript y lo utilizacomo lenguaje principal. Puede instalarlo globalmente como:

npm install -g typescript

Veamos un ejemplo simple de uso de TypeScript:

function greeting(name: string): string {
   return "Hello, " + name;
}

let user = "Sudheer";

console.log(greeting(user));

El método greeting sólo permite el tipo string como argumento.

2 comentarios en «Preguntas de entrevista sobre JavaScript»

  1. Migue pregunta. En el cuarto creo que estás intentando explicar el splice pero en el título del item 4 se hace referencia al slice, método que hace algo similar pero con unos ligeros cambios. Por si es el caso, verificar el título del item 4

Los comentarios están cerrados.