Freecodecamp: === no es opuesto a! ==

Creado en 22 nov. 2016  ·  13Comentarios  ·  Fuente: freeCodeCamp/freeCodeCamp


Nombre del desafío


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

descripcion del problema


En realidad! == no es lo opuesto al operador de igualdad estricta. === significa valor igual Y tipo igual. ! == significa no igual valor O no igual tipo. Eso significa que si una condición es verdadera, entonces la expresión devolverá verdadera. Pero para el operador de igualdad estricta ambas condiciones deben ser verdaderas. Creo que esta información debería ser proporcionada.

Información del navegador

  • Nombre del navegador, versión: Google Chrome, 54.0.2840.99 m (64 bits)
  • Sistema operativo: Windows 10
  • Móvil, escritorio o tableta: escritorio
help wanted

Comentario más útil

Posiblemente me guste la idea de agregar la palabra 'lógica' como en:

El operador de desigualdad estricta (! ==) es el opuesto lógico del operador de igualdad estricta.

¿Y luego quizás agreguemos un enlace MDN al sitio anterior?

Todos 13 comentarios

No es de igual valor y / o no es de igual tipo. Vea aquí: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators

Creo que el sentimiento sigue siendo correcto. Pero otros pueden intervenir.

Podríamos reescribir las instrucciones para reflejar la naturaleza y / o la !==

Operando 1 | Operando 2 | Estado |
--------------- | ---------------- | ----------- |
'One String' | 'Otra cadena' | true
1 | 2 | true
1 | '1' | true
4 | 4 | false
'Cadena' | 'Cadena' | false

@Bouncey pero ¿no es !== el opuesto aceptado de === ? ¿O hay alguna alternativa que no conozco?

@dhcodes lo es y más o menos no lo es

El problema es con esta línea en nuestras instrucciones de desafío.

El operador de desigualdad estricta ( !== ) es lo opuesto al operador de igualdad estricta.

Donde el operador de igualdad estricta requiere que el tipo Y el valor sea igual para resolver como true , el operador de desigualdad estricta requiere que el tipo O el valor sea diferente para resolver como true .

Describirlo como el 'opuesto' implica que el tipo y el valor deben diferir para volver a amar como verdadero

Podríamos reformular las instrucciones para reflejar la diferencia del operador de desigualdad estricta

Desde una perspectiva lógica, creo que !== es el opuesto lógico de === :
Suponiendo que === se puede escribir como Operand1 AND Operand2 , entonces lo contrario sería NOT(Operand1 AND Operand2) . Esto se puede escribir como NOT(Operand1) OR NOT(Operand2) , que es lo mismo que !== . Sin embargo, puedo ver dónde está la ambigüedad en las instrucciones y por qué eso puede ser confuso.

Estoy de acuerdo con @dhcodes y @robbawebba. Mientras escribía mi argumentación, Rob hizo un trabajo mucho mejor. La única excepción es NaN , que no es igual a sí mismo.
Estaba escribiendo un Codepen para afirmar (juego de palabras) mis suposiciones. En caso de que alguien prefiera ejemplos de código, aquí está mi lío: http://codepen.io/Timoh/pen/ZBKBdL?editors=0012

No me opongo a cambiarlo; Simplemente no estoy seguro de qué reescritura lograría esto sin hacerlo más confuso para el campista. Gracias por el ejemplo @systimotic.

información eliminada

Ya no contribuyo

Observé que muchos de mis amigos se equivocan en esta lógica. En la mayoría de los lugares, la gente dice que! == es opuesto a ===. Así que asumen que el nombre de ! == no será de igual valor y de igual tipo. como === se llama Igual valor y Igual tipo . Además, en la mayoría de los casos, los estudiantes son principiantes, así que creo que al menos se debe mencionar el nombre. Es solo mi sugerencia.
http://www.w3schools.com/js/js_operators.asp

Posiblemente me guste la idea de agregar la palabra 'lógica' como en:

El operador de desigualdad estricta (! ==) es el opuesto lógico del operador de igualdad estricta.

¿Y luego quizás agreguemos un enlace MDN al sitio anterior?

Si, es una buena idea ..... @ dhcodes

Si alguien quiere abordar esto, deberá agregar la palabra logical a la oración:

El operador de desigualdad estricta (! ==) es lo opuesto al operador de igualdad estricta.

para hacerlo:

El operador de desigualdad estricta (! ==) es el opuesto lógico del operador de igualdad estricta.

y modifique el archivo MDN Links para agregar una referencia al enlace siguiente y luego agregue el enlace MDN al desafío:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Non -identity_strict_inequality_ (!)

Nota: Los enlaces MDN no funcionan actualmente en la puesta en escena, por lo tanto, refleje el código de otros desafíos con enlaces MDN, ya que actualmente no hay forma de probar localmente.

Me gustaría abordar esto, aunque podría necesitar ayuda con los enlaces MDN, no lo he hecho antes.

¿Fue útil esta página
0 / 5 - 0 calificaciones