Question

ce qui équivaut à l'opérateur (== === vs) doit être utilisé dans les comparaisons JavaScript indique qu'ils sont essentiellement identiques, sauf « === » assure également saisir l'égalité et donc « == » pourrait effectuer la conversion de type. Dans Douglas Crockford JavaScript: The Good Parts , il est conseillé d'éviter toujours '=='. Cependant, je me demande ce que la pensée originale de concevoir deux ensemble des opérateurs d'égalité a été.

Avez-vous vu une situation que l'utilisation de « == » est en fait plus approprié que d'utiliser « === »?

Était-ce utile?

La solution

Considérons une situation où l'on compare des chiffres ou des chaînes:

if (4 === 4)
{
  // true
}

if (4 == "4")
{
  // true
}

et

if (4 === "4")
{
  // false
}

Cela s'applique à des objets ainsi que des tableaux.

dans les cas ci-dessus, vous devez faire un choix judicieux si vous souhaitez utiliser == === ou

Autres conseils

La réponse est simple: '==' a plus de sens que '===' lorsque vous voulez tapez la contrainte de se produire au cours des comparaisons.

Un bon exemple serait le nombre étant passés dans une chaîne de requête URL. Si par exemple, vous avez du contenu paginé, et le paramètre de requête page Maintient le numéro de page, vous pouvez vérifier la page en cours avec if (page == 1) ... même si page est en fait "1", pas 1.

Je dirais qu'il n'y a pas de problème avec l'utilisation ==, mais de comprendre quand et pourquoi l'utiliser (à savoir l'utilisation === en règle générale, et == quand elle sert un but). Essentiellement, == vous donne juste la notation abrégée - au lieu de faire quelque chose comme

if (vble === 0 || vble === "" || vble === null || vble === undefined || vble === false) ...

Il est beaucoup plus facile d'écrire simplement

if (vble == false) ...

(Ou encore plus facile à écrire)

if (! Vble) ...

Bien sûr, il y a plus d'exemples que la recherche de valeurs que « truthy » ou « Falsey ».

Vraiment, vous avez juste besoin de comprendre quand et pourquoi utiliser == et ===, je ne vois aucune raison pourquoi ne pas utiliser == où il convient le mieux ...

Un autre exemple utilise cette raccourci pour permettre appelle la méthode abrégée:

function func(boolOptionNotCommonlyUsed) {
  if (boolOptionNotCommonlyUsed) { //equiv to boolOptionNotCommonlyUsed == true
    //do something we rarely do
  }
  //do whatever func usually does
}

func(); //we rarely use boolOptionNotCommonlyUsed, so allow calling without "false" as an arg

== compare si la valeur des 2 côtés sont identiques ou non.

=== compare si la valeur et le type de données des 2 côtés sont les mêmes ou non.

Disons que nous avons

$var = 0;

if($var == false){
  // true because 0 is also read as false
}

if(!$var){
  // true because 0 is also read as false
}

if($var === false){
  // false because 0 is not the same datatype as false. (int vs bool)
}

if($var !== false){
  // true becuase 0 is not the same datatype as false. (int vs bool)
}

if($var === 0){
  // true, the value and datatype are the same.
}

vous pouvez consulter http://www.jonlee.ca/the -Triple-égaux en php /

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top