Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

DESAFÍO 2: Uso de let y ===

Hola!

Tengo una consulta, yo he podido realizar todos los ejercicios del desafío 2, sin embargo tengo las siguientes consultas:

  1. Todos los ejemplos se ejecutaron correctamente en la consola, a pesar de que posteriormente me percaté que al lado del nombre de la variable no había puesto let. ¿Alguien sabe por qué se ejecutó y no me salió error?

  2. He visto en las respuestas del profesor, que en el primer ejercicio en la condicional utilizó === en vez de ==. Yo usé == y me ejecutó correctamente el código, quisiera saber la diferencia entre ambos tipos de operadores lógicos.

  3. Como duda adicional, ¿hay alguna forma en que una comparación pueda ignorar las tildes y las mayúsculas? para que (sabado == Sábado) devuelva True.

Agradezco cualquier comentario o respuesta, gracias!

3 respuestas

Hola buen día Eleonora, mirá por el momento yo soy principiante en Javascript y no conozco el motivo de dos de las consultas que mencionaste, pero sobre la segunda en particular creo que es porque === compara valores y devuelve un resultado booleano, o sea true o false. Disculpame de no ser de mas ayuda pero ya que estoy voy a seguir el post porque ahora yo también tengo esas dudas. Saludos

solución!

Que tal Eleonora, te ayudaré en resolver tus dudas:

Todos los ejemplos se ejecutaron correctamente en la consola, a pesar de que posteriormente me percaté que al lado del nombre de la variable no había puesto let. ¿Alguien sabe por qué se ejecutó y no me salió error?

R= Esto pasa porque nuestra variable se convierte en una variable global (El motor de JavaScript automáticamente la crea como una propiedad global del objeto window (en navegadores) o del objeto global correspondiente). Además de que no usamos el modo estricto de JavaScript, este modo revisa que la sintaxis del lenguaje se cumpla estrictamente, valga la redundancia.

Recuerda siempre definir tus variables con alguna de las formas, ya sea Let, Const o Var, ya que son buenas prácticas.

He visto en las respuestas del profesor, que en el primer ejercicio en la condicional utilizó === en vez de ==. Yo usé == y me ejecutó correctamente el código, quisiera saber la diferencia entre ambos tipos de operadores lógicos.

R= == es el operador de igualdad débil: compara valores después de intentar convertirlos al mismo tipo (coerción de tipo). === es el operador de igualdad estricta: compara valores sin realizar coerción de tipo.

console.log(5 == '5');  // true  -> Porque convierte '5' (string) a 5 (number)
console.log(5 === '5'); // false -> Porque los tipos son diferentes (number vs string)

En pocas palabras, un solo = , es para asignar un valor, dos ==, sirven para comparar solo el valor de dos variables, tres ===, sirven para comparar tanto el valor de dos variables y el tipo de las mismas.

Como duda adicional, ¿hay alguna forma en que una comparación pueda ignorar las tildes y las mayúsculas? para que (sabado == Sábado) devuelva True.

R= Esto ya es más avanzado, ya que para resolver tu problema tendríamos que hacer uso de algunas funciones o librerías para convertir las letras mayúsculas de una cadena a minúsculas o viceversa, además, de ignorar las tildes, pero eso lo verás después.

Saludos.

Muchas gracias por tus respuestas, Gabriel!