TSLint double vs triple égalité
Je sais que d'un seul signe de l'égalité des moyens d'affectation; double signifie l'égalité; et triple signifie l'égalité et du même type.
Ce que je ne comprends pas pourquoi le tapuscrit linter voudrais me servir de triple égalité des signes dans ce cas:
function gcf(a: number, b: number): number
{
return (b == 0) ? (a) : (gcf(b, a % b));
}
TsLint: = = = = =
Je sais que 0 est un nombre et je sais aussi que b est un nombre (ou alors j'obtiendrez une erreur de compilation). Alors, pourquoi voudrais-je utiliser le triple de l'égalité des signes dans ce cas?
Alors que ce n'est pas aussi probablement à la Machine à cause d'un problème, c'est une comparaison stricte -- je ne suis pas sûr pourquoi vous ne voulez pas l'utiliser? stackoverflow.com/a/359509/95190 Il est généralement une bonne pratique de l'utiliser en JavaScript.
c'.password1 == ce.mot_passe2 est arriver a échoué et retourne la valeur false. Quelle est la raison?
c'.password1 == ce.mot_passe2 est arriver a échoué et retourne la valeur false. Quelle est la raison?
OriginalL'auteur user886079 | 2014-03-29
Vous devez vous connecter pour publier un commentaire.
Types ne peuvent pas vous sauver de tous les erreurs causées par
==
. Particulièrement depuisundefined
etnull
sont compatibles avec tous types. par exemple, le suivant est incorrect si :Pour plus d'info sur le pourquoi de ces sont égaux https://stackoverflow.com/a/359509/95190
Personnellement : j'ai eu cette règle désactivé et n'a jamais eu de problèmes. Je ne compare pas avec
true/false/null/undefined
, justeif
. Et tapuscrit empêche de comparerstrings
etnumbers
ce n'est donc pas une erreur que j'ai besoin de traiter avec.OriginalL'auteur basarat
À l'aide de la triple opérateur d'égalité permet en outre dans les cas où la résultante de Javascript peut être appelée à partir de l'extérieur par un fichier (c'est à dire en dehors du Tapuscrit de l'environnement). Pure JS fichiers ne sont pas traités par tslint, et en "exigeant" la triple égalité, tslint fait la résultante fichier Javascript qui peu plus résilient.
OriginalL'auteur Darren Oster