Оператори порівняння - javascript, mdn

Рядки порівнюються на основі стандартного лексикографічного впорядкування, використовуючи значення Unicode.

  • Два рядки строго рівні тільки в тому випадку, якщо вони мають однакову довжину, і ті ж символи в однаковій послідовності і відповідних позиціях.
  • Два числа строго рівні в тому випадку, якщо вони чисельно рівні. NaN не дорівнює нічому, в тому числі і NaN. Нулі з позитивним і негативним знаком рівні.
  • Два логічних значення (boolean) рівні тільки в тому випадку, якщо вони обидва істинні (true) чи хибні (false).
  • Два різних об'єкта ніколи не рівні як в строгих, так і в абстрактних порівняннях.
  • Порівняння об'єкта істинно лише в тому випадку, якщо обидва операнда посилаються на один і той же об'єкт в пам'яті.
  • Види null і undefined рівні собі як в строгому порівнянні, так і в абстрактному.

При використанні порівняння з перетворенням типів, слід бути вкрай обережним, так як це може привести до непередбачених проблем, пов'язаних з особливостями конвертації різних типів (див. Параграф "Використання операторів рівності").

Оператори рівності

Оператор повертає істину в тому випадку, якщо операнди строго рівні (див. Вище). На відміну від оператора одно. даний оператор не призводить операнди до одного типу.

Оператор строго не дорівнює повертає істину в тому випадку, якщо операнди не рівні, або їх типи відрізняються один від одного.

Оператор менше або дорівнює, повертає істину в тому випадку, якщо значення операнда зліва менше, або дорівнює значенню операнда справа.

Використання операторів рівності

Оператори суворого равентсву (=== та! ==) використовують Строгий Алгоритм еквівалентно Порівняння, і призначені для порівняння операндів одного типу. Якщо операнди мають різні типи, то результат операції порівняння завжди буде брехнею. Наприклад, вираз 5! == '5' буде істинним.

Використовуйте оператори суворого рівності в тих випадках, коли необхідно перевіряти не тільки значення операндів, але так само і їх типи. У іншому випадку, використовуйте оператори стандартного рівності, які дозволяють порівняти два операнда незалежно від їх типів.

Увага: Об'єкти String мають тип Object, а не String. Такі об'єкти використовуються рідко, так що наступний код може вас сильно здивувати.

специфікації

Схожі статті