В JavaScript! = то же как! == [дубликат]

6 ответов

Они слегка отличаются.

!= проверяет значение
!== проверяет значение и тип

'1' != 1   // false (these two are the same)
'1' !== 1 // true (these two are **not** the same).

В предыдущем примере. Первая половина выражения - строка, вторая половина - целое число

.
109
ответ дан 24 November 2019 в 18:12
поделиться

Большая разница в том, что != выполняет принудительное приведение типа. То есть перед проверкой равенства одно значение эффективно приводится к другому. Поэтому, как и в ответе Амадье:

'1' != 1

-оценивается как ложь. То же самое справедливо и для == v. ===. В общем, избегайте == и !=, если только специально не хотите, чтобы выполнялось принуждение. Используйте === и !== и проверьте, какой именно результат вы ищете.

.
6
ответ дан 24 November 2019 в 18:12
поделиться

С

http://en.wikipedia.org/wiki/JavaScript_syntax#Operators

!== Не идентично

!= Не равно

И "Идентично означает равнозначно и одного типа"

С

http://docstore.mik.ua/orelly/webprog/jscript/ch05_04.htm

"В JavaScript числа, строки и булевы значения сравниваются по значению. ... С другой стороны, объекты, массивы и функции сравниваются по ссылке. "

--

Итак, вкратце, они одинаковые? Нет, потому что есть дополнительный тест с !== (over !=) на одинаковость типов, а также на равенство.

.
14
ответ дан 24 November 2019 в 18:12
поделиться

Посмотрите на JSLint для объяснения разницы. Я бы также посоветовал Вам хотя бы раз передать Ваш JavaScript код через JSLint, Вы можете узнать ценные вещи...

.
0
ответ дан 24 November 2019 в 18:12
поделиться

Нет, это не одно и то же. Смотрите, например, здесь.

4 !== '4' returns true   (and 4 === '4' returns false)
4 != '4'  returns false  (and 4 == '4'  returns true)
9
ответ дан 24 November 2019 в 18:12
поделиться

Проверяет не только значение, но и тип сравниваемых вещей. То же самое происходит и на php, и на некоторых других языках.

.
0
ответ дан 24 November 2019 в 18:12
поделиться