Freecodecamp: === não é o oposto de! ==

Criado em 22 nov. 2016  ·  13Comentários  ·  Fonte: freeCodeCamp/freeCodeCamp


Nome do Desafio


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

descrição do problema


Na verdade! == não é o oposto do operador de igualdade estrita. === significa igual valor E igual tipo. ! == significa valor diferente ou tipo diferente. Isso significa que se uma condição for verdadeira, a expressão retornará verdadeira. Mas para o operador de igualdade estrita, ambas as condições devem ser verdadeiras. Acho que essas informações devem ser fornecidas.

Informação do navegador

  • Nome do navegador, versão: Google Chrome, 54.0.2840.99 m (64 bits)
  • Sistema operacional: Windows 10
  • Celular, desktop ou tablet: desktop
help wanted

Comentários muito úteis

Possivelmente gosto da ideia de adicionar a palavra 'lógico' como em:

O operador de desigualdade estrita (! ==) é o oposto lógico do operador de igualdade estrita.

E talvez possamos adicionar um link MDN ao site acima?

Todos 13 comentários

Não é igual valor e / ou tipo diferente. Veja aqui: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators

Acho que o sentimento ainda está correto. Mas outros podem pesar.

Poderíamos reescrever as instruções para refletir a e / ou natureza de !==

Operando 1 | Operando 2 | Estado |
--------------- | ---------------- | ----------- |
'One String' | 'Outra corda' | true
1 | 2 | true
1 | '1' | true
4 4 false
'String' | 'String' | false

@Bouncey, mas não é !== o oposto aceito de === ? Ou existe uma alternativa da qual não estou ciente?

@dhcodes é e meio que não

O problema é com esta linha em nossas instruções de desafio

O operador de desigualdade estrita ( !== ) é o oposto do operador de igualdade estrita.

Onde o operador de igualdade estrita requer que o tipo E o valor sejam iguais para resolver como true , o operador de desigualdade estrita requer que o tipo OU o valor seja diferente para resolver como true .

Descrevê-lo como o 'oposto' implica que o tipo e o valor precisam ser diferentes para reslove como verdadeiro

Poderíamos reformular as instruções para refletir a diferença do operador de desigualdade estrita

De uma perspectiva lógica, acho que !== é o oposto lógico de === :
Assumindo que === pode ser escrito como Operand1 AND Operand2 , então o oposto seria NOT(Operand1 AND Operand2) . Isso pode ser escrito como NOT(Operand1) OR NOT(Operand2) , que é o mesmo que !== . No entanto, posso ver onde está a ambigüidade nas instruções e por que isso pode ser confuso.

Eu concordo com @dhcodes e @robbawebba. Enquanto eu escrevia minha argumentação, Rob fez um trabalho muito melhor. A única exceção é NaN , que não é igual a si mesmo.
Eu estava escrevendo um Codepen para afirmar (trocadilhos) minhas suposições. Caso alguém prefira exemplos de código, aqui está minha bagunça: http://codepen.io/Timoh/pen/ZBKBdL?editors=0012

Não me oponho a mudá-lo; Não tenho certeza de como reescrever faria isso sem tornar mais confuso para o campista. Obrigado pelo exemplo @systimotic.

informação removida

Não está mais contribuindo

Observei que muitos dos meus amigos erram nessa lógica. Na maioria dos lugares, as pessoas dizem! == é o oposto de ===. Portanto, eles presumem que o nome de ! == será Valor Diferente e Tipo Igual. como === é chamado de valor igual e tipo igual . Além disso, na maioria dos casos, os alunos são iniciantes, então acho que pelo menos o nome deve ser mencionado. É apenas minha sugestão.
http://www.w3schools.com/js/js_operators.asp

Possivelmente gosto da ideia de adicionar a palavra 'lógico' como em:

O operador de desigualdade estrita (! ==) é o oposto lógico do operador de igualdade estrita.

E talvez possamos adicionar um link MDN ao site acima?

Sim. É uma boa ideia ..... @ dhcodes

Se alguém quiser fazer isso, você precisará adicionar a palavra logical à frase:

O operador de desigualdade estrita (! ==) é o oposto do operador de igualdade estrita.

para fazer isso:

O operador de desigualdade estrita (! ==) é o oposto lógico do operador de igualdade estrita.

e modifique o arquivo de Links MDN para adicionar uma referência ao link abaixo e, em seguida, adicione o link MDN ao desafio:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Non -identity_strict_inequality_ (!)

Observação: os links MDN não estão funcionando atualmente na preparação, portanto, espelhe o código de outros desafios com links MDN, pois não há como testar localmente no momento.

Eu gostaria de abordar isso, mas posso precisar de ajuda com os links MDN, mas nunca fiz isso antes.

Esta página foi útil?
0 / 5 - 0 avaliações