26-11-23 17:29:38
JavaScript предоставляет два оператора равенства: == (нестрогое равенство) и === (строгое равенство). Оператор == сравнивает значения на равенство после выполнения приведения типов, что означает, что он может преобразовывать операнды к одному типу перед сравнением.
let looseEquality = 5 == '5';
console.log(looseEquality); // Output: true
В этом примере оператор == выполняет приведение типов и считает значения равными. Однако часто предпочтительнее использовать оператор === для строгого равенства, который проверяет и значение, и тип без приведения типов.
let strictEquality = 5 === '5';
console.log(strictEquality); // Output: false
Здесь оператор === возвращает false, потому что он проверяет и значение, и тип, и они разные.
Аналогично JavaScript предоставляет два оператора неравенства: != (нестрогое неравенство) и !== (строгое неравенство). Оператор != выполняет приведение типов перед сравнением.
let looseInequality = 5 != '5';
console.log(looseInequality); // Output: false
В этом случае оператор != выполняет приведение типов и считает значения равными. Для строгого неравенства используйте !==.
let strictInequality = 5 !== '5';
console.log(strictInequality); // Output: true
Оператор !== проверяет и значение, и тип, и возвращает true в этом примере.
Операторы отношения применяются для сравнения числовых значений. Они включают в себя < (меньше), > (больше), <= (меньше или равно) и >= (больше или равно).
let greaterThan = 10 > 5;
console.log(greaterThan); // Output: true
Здесь оператор > проверяет, является ли 10 больше 5, возвращая true.
let lessThanOrEqual = 3 <= 2;
console.log(lessThanOrEqual); // Output: false
Оператор <= проверяет, является ли 3 меньше или равным 2, возвращая false.
Логические операторы выполняют логические операции над значениями и возвращают булев результат. && (логическое И) возвращает true, если оба операнда true.
let logicalAnd = (5 > 3) && (10 < 20);
console.log(logicalAnd); // Output: true
В этом примере logicalAnd принимает значение true, потому что оба условия верны.
Также || (логическое ИЛИ) возвращает true, если хотя бы один из операндов true.
let logicalOr = (5 < 3) || (10 > 20);
console.log(logicalOr); // Output: true
В данном случае logicalOr равно true, так как второе условие верно.
Оператор ! (логическое НЕ) отрицает булево значение.
let logicalNot = !(5 > 3);
console.log(logicalNot); // Output: false
Здесь logicalNot равно false, потому что результат 5 > 3 равен true, и ! отрицает его.
Тернарный оператор представляет собой краткий способ записи условного оператора. Он состоит из трех операндов: условия, за которым следует вопросительный знак, выражение, выполняемое при истине, и выражение, выполняемое при лжи.
let isEven = (10 % 2 === 0) ? 'Even' : 'Odd';
console.log(isEven); // Output: Even
В этом примере тернарный оператор проверяет, является ли 10 четным, присваивая значение 'Even' переменной четность, если условие истинно, и 'Odd', если ложно.
Понимание и владение этими операторами сравнения в JavaScript является важным для создания эффективного и надежного кода. Будь то работа с простыми условиями или сложными логическими операциями, твердое владение этими операторами позволит вам создавать более надежные и выразительные программы.