2016-11-05 7 views
2

в DreamWeaver куб.см 2015 году, когда я с помощью операторов сравнения в JQuery/JavaScript программирования как:JQuery/JavaScript Операторы сравнения "===" и "=="

if(x == "") 

DW показывает ошибку, Ожидается === и вместо этого видно ==. Мой вопрос в том, в чем разница между === и ==?. Как я знаю на других языках, таких как C# и т. Д. Оператор === означает, что сравнение проверит тип данных значения, а также значение. В javascript или jquery есть ли проблема, если я использую == вместо ===? или все же результат будет таким же в jquery/javascript?

+3

Возможный дубликат [Который равен оператору (== vs ===) следует использовать при сравнении JavaScript?] (Http://stackoverflow.com/questions/359494/which-equals-operator-vs-should-be -используется-в-JavaScript-сравнений) –

ответ

2

В Javascript, === не пытайтесь принуждать тип переменных, которые вы тестируете, а == сделает все возможное, чтобы «придумать» эти переменные, если это необходимо для их сравнения.

Например 1 == '1' возвращает true, в то время как 1 === '1' возвращает false, так как вы сравниваете число в строку.

Наконец, jQuery и чистый javascript используют одинаковые операторы === и ==. Следовательно, между ними не будет никакой разницы.

MDN documentation тоже очень хорошо.

2

Оператор == будет сравнивать для равенства после выполнения любых необходимых преобразований типов. Оператор === не будет выполнять преобразование, поэтому, если два значения не совпадают, то === просто вернет false. Оба одинаково быстры.
Для больше вы можете проверить этот ответ в стопке oveflow
Which equals operator (== vs ===) should be used in JavaScript comparisons?

2

Существует небольшая разница между == и === операторов. Если вы используете ==, это означает, что вы сравниваете только значения, например (5 == '5') вернет вам значение true, тогда как первый операнд будет целочисленным, а второй операндом будет строка. Теперь рассмотрим тот же пример с === ie (5 === '5') вернет вам значение false, потому что оператор '===' проверяет значение, а также преобразование типа, и в этом случае целое число не может быть равно строке. Надеюсь, это вам поможет.