0
votes

JavaScript - si ne peut pas être déclenché quand il devrait

J'ai ce petit extrait de code xxx

console.log (événement.estado) épouse 0

console.log (isselected) crache false

Cependant, la console.log ("ICI") n'est jamais déclenchée. Comme je suis nouveau chez JS, je suppose qu'il y a une certaine délicieuse dans la façon dont JS évalue la vérité que je ne suis pas au courant de Toute aide serait appréciée


5 commentaires

Vous devriez vraiment utiliser si () sinon () sinon si ()


Est-ce réellement 0 ou est-ce "0" Qu'est-ce que console.log (typeof événement.estado)


Que se passe-t-il lorsque vous vous connectez de manière indépendante event.estado === 0 et isselected === false ? En outre, dans n'importe quel langage de programmation, vous ne devriez généralement jamais comparer directement avec VRAI ou FALSE. Il suffit d'utiliser si (x) ou si (! X) .


Je ne vois rien de mal dans le code. J'ai le même suspect que @Epascarello ci-dessus. C'est soit en fait l'impression "0" ou "false"


Vous êtes vraiment correct. C'était "0". Faux était correct car il était


3 Réponses :


0
votes

Le 0 était en fait "0", c'est pourquoi il évaluait mal


0 commentaires

0
votes

Selon le document HTML ci-dessous, le type et la valeur doivent être identiques. Veuillez vérifier si le type d'éventuel est identique.

Lorsque vous utilisez l'opérateur ===, l'égalité des booléens ne sont pas égaux, car l'opérateur === s'attend à une égalité dans le type et la valeur


2 commentaires

Pouvez-vous clarifier ce que vous entendez par «l'égalité de booléens ne sont pas égaux»?


Signifie que si le type de booléens n'est pas égal, alors === retour false .. var x = false; var y = nouveau booléen (faux); // (x === y) est faux parce que x et y ont des types différents



-1
votes

J'ai essayé l'extrait de mon bout et ça a fonctionné parfaitement pour moi et imprime ici (je n'ai pas utilisé le journal de la console). Pouvez-vous une fois essayer d'assimiler ESTADO à 1 et vérifier si les changements d'arrière-plan !! / p>


2 commentaires

Cela devrait être un commentaire, pas une réponse.


@jarmod je n'ai pas assez de répétition pour commenter. Par conséquent, je suggère ce que j'ai essayé à ma fin.