Freecodecamp: === n'est pas l'opposé de! ==

Créé le 22 nov. 2016  ·  13Commentaires  ·  Source: freeCodeCamp/freeCodeCamp


Nom du défi


https://www.freecodecamp.com/challenges/comparison-with-the-strict-inequality-operator

Description du problème


En fait! == n'est pas l'opposé de l'opérateur d'égalité stricte. === signifie valeur égale ET type égal. ! == signifie valeur différente ou type différent.Cela signifie que si une condition est vraie, l'expression retournera true.Mais pour un opérateur d'égalité stricte, les deux conditions doivent être vraies.Je pense que ces informations doivent être fournies.

Informations sur le navigateur

  • Nom du navigateur, version: Google Chrome, 54.0.2840.99 m (64 bits)
  • Système d'exploitation: Windows 10
  • Mobile, ordinateur de bureau ou tablette: ordinateur de bureau
help wanted

Commentaire le plus utile

J'aime peut-être l'idée d'ajouter le mot `` logique '' comme dans:

L'opérateur d'inégalité stricte (! ==) est l'opposé logique de l'opérateur d'égalité stricte.

Et puis peut-être ajoutons-nous un lien MDN vers le site ci-dessus?

Tous les 13 commentaires

Ce n'est pas une valeur égale et / ou un type différent. Voir ici: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators

Je pense que le sentiment est toujours correct. Mais d'autres peuvent peser.

Nous pourrions réécrire les instructions pour refléter la et / ou la nature de !==

Opérande 1 | Opérande 2 | État |
--------------- | ---------------- | ----------- |
«Une chaîne» | «Une autre chaîne» | true
1 | 2 | true
1 | «1» | true
4 | 4 | false
'String' | 'String' | false

@Bouncey mais !== n'est-il pas l'opposé accepté de === ? Ou y a-t-il une alternative dont je ne suis pas au courant?

@dhcodes c'est et ça ne l'est pas

Le problème est avec cette ligne dans nos instructions de défi

L'opérateur d'inégalité stricte ( !== ) est l'opposé de l'opérateur d'égalité stricte.

Là où l'opérateur d'égalité stricte requiert que la valeur de type AND soit égale pour être résolue comme true , l'opérateur d'inégalité stricte nécessite que le type OU la valeur soit différent pour être résolu comme true .

Le décrire comme le `` contraire '' implique que le type et la valeur doivent différer pour être reslove comme true

Nous pourrions reformuler les instructions pour refléter la différence de l'opérateur d'inégalité stricte

D'un point de vue logique, je pense que !== est l'opposé logique de === :
En supposant que === peut être écrit comme Operand1 AND Operand2 , alors l'inverse serait NOT(Operand1 AND Operand2) . Cela peut être écrit comme NOT(Operand1) OR NOT(Operand2) , ce qui équivaut à !== . Cependant, je peux voir où se trouve l'ambiguïté dans les instructions et pourquoi cela peut prêter à confusion.

Je suis d'accord avec @dhcodes et @robbawebba. Pendant que j'écrivais mon argumentation, Rob a fait un bien meilleur travail. La seule exception est NaN , qui n'est pas égal à lui-même.
J'écrivais un Codepen pour affirmer (jeu de mots) mes hypothèses. Au cas où quelqu'un préfère les exemples de code, voici mon désordre: http://codepen.io/Timoh/pen/ZBKBdL?editors=0012

Je ne suis pas contre le fait de le changer; Je ne suis juste pas sûr de ce que la réécriture permettrait d'accomplir cela sans rendre plus déroutant pour le campeur. Merci pour l'exemple @systimotic.

informations supprimées

Ne plus contribuer

J'ai observé que beaucoup de mes amis se trompent dans cette logique. Dans la plupart des endroits, les gens disent que! == est l'opposé de ===. Donc, ils supposent que le nom de ! == ne sera pas une valeur égale et un type égal. as === est appelé valeur égale et type égal . De plus, dans la plupart des cas, les apprenants sont débutants, donc je pense qu'au moins le nom devrait être mentionné. C'est juste ma suggestion.
http://www.w3schools.com/js/js_operators.asp

J'aime peut-être l'idée d'ajouter le mot `` logique '' comme dans:

L'opérateur d'inégalité stricte (! ==) est l'opposé logique de l'opérateur d'égalité stricte.

Et puis peut-être ajoutons-nous un lien MDN vers le site ci-dessus?

Oui, c'est une bonne idée ..... @ dhcodes

Si quelqu'un veut reprendre cela, vous devrez ajouter le mot logical à la phrase:

L'opérateur d'inégalité stricte (! ==) est l'opposé de l'opérateur d'égalité stricte.

pour le faire:

L'opérateur d'inégalité stricte (! ==) est l'opposé logique de l'opérateur d'égalité stricte.

et modifiez le fichier de liens MDN pour ajouter une référence au lien ci-dessous, puis ajoutez le lien MDN au défi:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Non -identity_strict_inequality_ (!)

Remarque: les liens MDN ne fonctionnent actuellement pas sur la mise en scène, donc reflétez le code d'autres défis avec les liens MDN car il n'y a aucun moyen de tester localement actuellement.

J'aimerais aborder cette question, j'ai peut-être besoin d'aide avec les liens MDN, je ne l'ai jamais fait auparavant.

Cette page vous a été utile?
0 / 5 - 0 notes