2016-08-16 3 views
-2

Извините за то, что я уверен, что меня спрашивали в прошлом, но очень сложно найти такой вопрос. «! =» и «! ==» не совсем дружественны к поиску. Если кто-нибудь знает дублирующий вопрос, вы можете указать мне на него.В чем разница: = null и! == null?

В чем разница между выполнением myVar != null и myVar !== null? Я знаю, что != - not equal и !== - not equal value or not equal type, но если сравнивать с нулем, всегда есть случай, когда они будут возвращать разные результаты? Лучше использовать, чем другой?

+0

http://stackoverflow.com/questions/523643/difference-between-and-in-javascript?rq=1 – 10100111001

+0

Я искал «неравенство скрижаля javascript против неравенства» и нашел материал, но знание названия вещей может быть твердым. Я понятия не имею, как люди ищут? : 'в первый раз они видят' x = y? z: w; ' –

+0

Подробнее см. здесь: https://github.com/getify/You-Dont-Know-JS/blob/master/types%20%26%20grammar/ch4.md –

ответ

7

Ответ на конкретный вопрос о том, это когда-либо случай, когда != и !== сравнения с участием null получить разные ответы в да:

undefined != null // false 
undefined !== null // true 

Правила == и != явно включать положение, которое предусматривает что null и undefined - это то же самое.

Лично — то есть, в моем коде — тот факт является причиной для использования != (или ==) при проверке null в тех случаях, когда undefined должен рассматриваться таким же образом (что является довольно распространенной ситуацией).

+1

Кроме того, Lodash's [ isNil] (https://lodash.com/docs/4.17.4#isNil) проверяет, является ли данное значение «nullish» (это «null» или «undefined»), а за кулисами делает именно это: проверяет, заданное значение '== null'. – TranslucentCloud

Смежные вопросы