Сравнительное суждение
Сравнение суждения состоит в том, чтобы сравнить два значения и вернуть логическое значение, чтобы указать, соответствуют ли условия сравнения. JavaScript предоставляет в общей сложности 8 операторов сравнения. Здесь мы в основном говорим о разнице между строгими операторами равенства и операторами равенства.
Строгий оператор равенства ===
Определите, что возврат двух значений отличается, false, оба значения являются нулевыми/неопределенными/true/false true. Одним из двух значений является NAN, FALSE, оба значения являются числовыми и равны, верно, оба значения являются строками, а равные значения являются true, оба значения указывают на один и тот же ссылочный тип true1 === "1" // falsetrue === true // trueUndefined === undefined // true1 === 1 // truenan == nan // false+0 === // true1 /== false [] === [] // false (function () {} === function () {}) // falseavar v1 = {}; var v2 = v1; // два значения относятся к одному и тому же объекту v1 === v2 // trueОператор строгого равенства имеет соответствующий строгий оператор неравенства (! ==), и результаты операции двух являются точно противоположными.
Оператор равенства ==
Если оператор равенства сравнивает данные одного и того же типа, один и тот же оператор строгого равенства, в противном случае, если оператор равенства сравнивает различные типы данных: исходный тип данных будет преобразован в числовые типы, преобразует как строки, так и логики в числовые значения, а затем сравнивает NULL == Неопределенное возвращение истинное, что является объектом, другой - число или строка, преобразует объект в основное значение типа, а затем сравнивает иначе, а не False13; // true'123 '== 123; // true, '123' будет преобразован в числовые значения 123false == 0; // true, ложное преобразование в числовые значения равен 0'a '==' a '; // false, преобразованное кодирование отличается 123 == {}; //false, executing toString() or valueOf() will change 123 == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =. // false, до тех пор, пока есть NAN, это false {} == {}; // Неверно, сравнение - это их адрес. Справочный адрес каждого вновь созданного объекта - это различный null == не определено // true'nan '== nan // false123 == nan // falsenan == nan // falsefalse == 0 // trueTrue == 1 // trueTrue == 2 // falseDefined == 0 // falsenull == 0 // false'123' == 123 '== 123' == 123 '== 123' == 123 '== 123' == 123 '== 123' == 123 '== 123' == 123 '== 123' == 123 // trueundefined == 0 // falsenull == 0 // false'123 '= //ЛОЖЬОператор равенства имеет соответствующий неравный оператор (! =), И результаты операции из двух являются наоборот.
!!судить
!! Boolean Boolean
!! 'xzavier'; // истинный!!''; // ложь !! '0'; // true !! '1'; // true !! '-1' // true !! 0 // false !! undefined // false !! null // false !! nan // false !! {}; // true !! {name: 'xz'} // true !! []; // true !! [1,2,3]; // правда !! Правда; // истинный!судить
Обратный оператор! используется для изменения логического значения на противоположное значение, то есть истинно становится ложным, а ложь становится истинной. Для данных, которые не являются логическими, оператор инверсии автоматически преобразует их в логическое. Правило состоит в том, что следующие шесть значений перевернуты в TRUE, а другие значения перевернуты в ложно
Неопределенный нулевой false 0 (включая +0 и -0) NAN Empty String ('')! Undefined // True! NULL // TRUE! FALSE // TRUE! 0 // TRUE! NAN // TRUE! "" // TRUE! 54 // FALSE![] и {} суждение
Для [] и {} мы обязательно вынесем суждения о них в бизнес -коде.
!! {}; // true !! {name: 'xz'} // true !! []; // true !! [1,2,3]; // истинный Нельзя использовать для суждений! и!. Для массивов мы используем его атрибут length для судьи
[] .length // 0 false [1,2,3] .length // 3 true
Для объектов вы можете использовать метод jQuery $.isEmptyObject(obj) , или вы можете инкапсулировать метод, имитируя jQuery, чтобы написать
функция isemptyObject (obj) {var name; для (имя в obj) {вернуть false; } return true;} isemptyObject ({}); // trueIsemptyObject ({name: 'xzavier'}); ЛОЖЬ Рекомендую библиотеку инструментов underscore , который также имеет метод isEmpty(object)
const _ = require ('Underscore'); _. isempty ({}); // истинный&&судить
Используется в условных выражениях, правила:
num1 && num2true true true true true false false false false false false false
Используется в заявлении, правила:
result = Expression1 && Expressing2
Если экспрессия1 оценивается в FALSE, результатом является экспрессия1. В противном случае результат - это выражение2
(1 - 1) && (x + = 1) // 0 (2> 1) && (5 + 5) // 10 (2 + 1) && (5 + 5) // 10
|| суждение
Используется в условных выражениях, правила:
num1 || num2true true true true true lose true true true false false
Используется в заявлении, правила:
Если логическое значение первого оператора верно, значение первого оператора возвращается, а второй оператор больше не оценивается.
Если логическое значение первого оператора неверно, значение второго оператора возвращается
|| Операторы обычно выполняют условное суждение по выражению и обработку терпимости от ошибок в бизнес -коде. Если мы не можем получить данные при их извлечении, это не может повлиять на последующий бизнес -код, поэтому мы должны быть терпимостью ошибки. || это очень хороший метод письма, который эквивалентен предоставлению данных резервного копирования.
VAR DATA = UNDEFINED || Backup_Data; // Когда в запросе есть ошибка, и данные не определены, перейдите в резервное копирование данных Backup_Data
Суд с тремя глазами
Правило:
состояние ? Экспрессия1: Экспрессия2; Функция absn (xzavier) {return xzavier> 0? xzavier: -xzavier;} absn (-123); // 123absn (123); // 123Если логическое значение первого выражения верно, значение второго выражения возвращается, в противном случае возвращается значение третьего выражения.
Суммировать
Выше всего содержание суждения в коде JavaScript для всех. Я надеюсь, что содержание этой статьи будет полезно для всех, кто использует JavaScript.