https://www.freecodecamp.com/challenges/comparison-with-the-strict-inequality-operator
На самом деле! == не является противоположностью оператору строгого равенства. === означает равное значение И равный тип. ! == означает не равное значение или не равный тип. Это означает, что если одно условие истинно, выражение вернет истину. Но для оператора строгого равенства оба условия должны быть истинными. Я думаю, что эта информация должна быть предоставлена.
Это не равное значение и / или не равный тип. Смотрите здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators
Я думаю, что это мнение все еще верное. Но другие могут взвесить.
Мы могли бы переписать инструкции, чтобы отразить и / или природу !==
Операнд 1 | Операнд 2 | Состояние |
--------------- | ---------------- | ----------- |
«Одна строка» | «Другая строка» | true
1 | 2 | true
1 | '1' | true
4 | 4 | false
'Строка' | 'Строка' | false
@Bouncey, но разве !==
является допустимой противоположностью ===
? Или есть альтернатива, о которой я не знаю?
@dhcodes это так, а вроде нет
Проблема в этой строке в наших инструкциях по вызову
Оператор строгого неравенства (
!==
) противоположен оператору строгого равенства.
Если оператор строгого равенства требует, чтобы оба значения типа И были равны для разрешения как true
, оператор строгого неравенства требует, чтобы либо тип ИЛИ значение было другим, чтобы разрешить как true
.
Описывая это как «противоположное», мы подразумеваем, что тип и ценность должны отличаться, чтобы быть признанным истинным.
Мы могли бы переформулировать инструкции, чтобы отразить разницу в операторе строгого неравенства
С логической точки зрения, я думаю, что !==
- это логическая противоположность ===
:
Если предположить, что ===
можно записать как Operand1 AND Operand2
, тогда обратное будет NOT(Operand1 AND Operand2)
. Это можно записать как NOT(Operand1) OR NOT(Operand2)
, что совпадает с !==
. Тем не менее, я могу понять, в чем неоднозначность инструкций и почему это может сбивать с толку.
Я согласен с @dhcodes и @robbawebba. Пока я писал свои аргументы, Роб справился гораздо лучше. Единственное исключение - NaN
, который не равен самому себе.
Я писал Codepen, чтобы подтвердить (каламбур) свои предположения. Если кто-то предпочитает примеры кода, вот мой беспорядок: http://codepen.io/Timoh/pen/ZBKBdL?editors=0012
Я не против его изменения; Я просто не уверен, что переписывание могло бы сделать это, не сделав это более запутанным для кемпера. Спасибо за пример @systimotic.
информация удалена
Больше не участвует
Я заметил, что многие мои друзья ошибаются в этой логике. В большинстве случаев люди говорят, что! == противоположно ===. Поэтому они предполагают, что имя ! == будет Не равное значение и равный тип. as === называется равным значением и равным типом . Кроме того, в большинстве случаев учащиеся являются новичками, поэтому я думаю, что следует упомянуть хотя бы имя. Это просто мое предложение.
http://www.w3schools.com/js/js_operators.asp
Возможно, мне нравится идея добавить слово «логический», например:
Оператор строгого неравенства (! ==) является логической противоположностью оператора строгого равенства.
А затем, возможно, мы добавим ссылку MDN на сайт выше?
Да, это хорошая идея ..... @ dhcodes
Если кто-то захочет поднять этот вопрос, вам нужно добавить в предложение слово logical
:
Оператор строгого неравенства (! ==) противоположен оператору строгого равенства.
сделать это:
Оператор строгого неравенства (! ==) является логической противоположностью оператора строгого равенства.
и измените файл ссылок MDN, чтобы добавить ссылку на ссылку ниже, а затем добавьте ссылку MDN в задачу:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Non -identity_strict_inequality_ (!)
Примечание: ссылки MDN в настоящее время не работают над промежуточным этапом, поэтому зеркально отразите код других задач с помощью ссылок MDN, поскольку в настоящее время нет возможности протестировать локально.
Я хотел бы поднять этот вопрос, возможно, понадобится помощь со ссылками MDN, хотя раньше этого не делал.
Самый полезный комментарий
Возможно, мне нравится идея добавить слово «логический», например:
А затем, возможно, мы добавим ссылку MDN на сайт выше?