Triple (3) Signos Iguales [duplicate]

1 minuto de lectura

avatar de usuario
Vía rápida

Posible duplicado:

JavaScript === vs ==: ¿Importa qué operador “igual” uso?

Hice otra pregunta aquí y recibí una excelente respuesta de la siguiente manera:

$(document).on("keydown", function (e) {
  if (e.which === 8 && !$(e.target).is("input, textarea") || $(e.target).is('[readonly]')) {
      e.preventDefault();
  }
}); 

Fíjate en los tres signos iguales === en la sentencia if. Siempre he pensado que solo necesitabas dos signos iguales == para una declaración if de javascript/jQuery. ¿Hay alguna razón para los tres?

ACTUALIZAR

Perdón por la pregunta duplicada. Busqué pero no encontré ninguna buena pregunta. Supongo que estaba usando los términos de búsqueda incorrectos.

  • Supongo que está comprobando la igualdad absoluta. Es decir, no solo igual, sino lo mismo.

    – Grigor

    27 de junio de 2012 a las 20:47

  • Esta otra pregunta tiene mucha información sobre el tema (stackoverflow.com/questions/359494/…)

    – MrOBrian

    27 de junio de 2012 a las 20:48

  • La función de búsqueda de Stack Overflow no puede manejar caracteres como =, desafortunadamente. Pero Google sí funciona: google.com/…

    – Rob W.

    27 de junio de 2012 a las 20:48

Triple signo igual en javascript significa igualdad sin tipo coaccion.

Por ejemplo:

1=="1"     // true, automatic type coersion
1==="1"    // false, not the same type.

  • JS verdadero, falso e igual en detalles: gist.github.com/romankierzkowski/9024908

    – RKI

    16 de febrero de 2014 a las 3:21

  • +1 Creo que en términos de lenguajes fuertemente tipados, por lo que el segundo ejemplo generaría un error. Todavía no estoy acostumbrado a esto y he estado usando javascript por un tiempo.

    – Radación

    12/09/2017 a las 18:48

Tres signos iguales indican que tanto el valor como el tipo son iguales.

  • Empecé a responder así, luego pensé que esto tenía que ser un engaño, mira esto

    – TecBrat

    27 de junio de 2012 a las 20:48

¿Ha sido útil esta solución?