Javascript оператори порівняння

... <…
... <= …
...> ...
...> = ...
... == ...
...! = ...
... === ...
...! == ...

Менше ніж
Менше або дорівнює
Більше ніж
Більше або дорівнює
Так само
Не дорівнює
строго одно
Строго не дорівнює

зліва направо
зліва направо
зліва направо
зліва направо
зліва направо
зліва направо
зліва направо
зліва направо

число, число → булево
число, число → булево
число, число → булево
число, число → булево
будь-який, будь-→ булево
будь-який, будь-→ булево
будь-який, будь-→ булево
будь-який, будь-→ булево

Оператор === (строго одно) виробляє порівняння значень операндів без перетворення типів.

Значення вважаються рівними:

  • Якщо обидва значення є null або undefined.
  • Якщо обидва значення є true або false.
  • Якщо обидва значення є числами з одним і тим набором цифр (0 і -0 рівні).
  • Якщо обидва значення є рядками і вони містять одні й ті ж 16-бітові послідовності.
  • Якщо обидва операнда посилаються на один і той же об'єкт, масив або функцію.

Значення вважаються рівними:

  • Якщо два значення мають різні типи.
  • Якщо одне або обидва значення є NaN.
  • Якщо рядки відрізняються вмістом.
  • Якщо два рядки виглядають однаково, але містять різні послідовності 16-бітових значень.
  • Якщо обидва операнда посилаються на різні об'єкти, масиви або функції.

Якщо значення операндів рівні оператор === повертає true. якщо не рівні - false:

Оператор == (дорівнює) виконує порівняння значень. Якщо значення операндів мають різні типи, оператор виконує неявне перетворення типів і потім намагається виконати порівняння.

Перетворення типів виконується за такими правилами:

  • Якщо одне її параметром є число, а інше - рядком, то рядок перетвориться в число.
  • Якщо один з операндів має значення true. воно перетворюється в число 1. якщо значення false - в число 0.
  • Якщо значення посилального типу порівнюється з числом або рядком, оператор спробує перетворити його до примітивного значенням.

Значення вважаються рівними:

  • Якщо одне значення null. а інше undefined.
  • Якщо обидва значення є null або undefined.
  • Якщо обидва значення є true або false.
  • Якщо обидва значення є числами з одним і тим набором цифр (0 і -0 рівні).
  • Якщо обидва значення є рядками і вони містять одні й ті ж 16-бітові послідовності.
  • Якщо обидва операнда посилаються на один і той же об'єкт, масив або функцію.

Значення вважаються рівними:

  • Якщо одне або обидва значення є NaN.
  • Якщо рядки відрізняються вмістом.
  • Якщо два рядки виглядають однаково, але містять різні послідовності 16-бітових значень.
  • Якщо обидва операнда посилаються на різні об'єкти, масиви або функції.

Оператори! = (Не дорівнює) і! == (строго не дорівнює) виконують перевірки, в точності протилежні операторам == і ===. Наприклад, оператор! = Повертає false. якщо два значення рівні один одному в тому сенсі, в якому вони вважаються рівними оператором ==. і true в іншому випадку:

оператор <( меньше ) возвращает true. если значение левого операнда меньше, чем значение правого операнда, в противном случае он возвращает false :

Оператор> (більше) повертає true. якщо значення лівого операнда більше, ніж значення правого операнда, в іншому випадку він повертає false:

оператор <= ( меньше или равно ) возвращает true. если значение левого операнда меньше или равно значению правого операнда, в противном случае он возвращает false :

Оператор> = (більше або дорівнює) повертає true. якщо значення лівого операнда більше або дорівнює значенню правого операнда, в іншому випадку він повертає false:

Код букви в нижньому регістрі завжди більше, ніж код букви у верхньому регістрі. Код цифри знаходиться в рядку завжди менше коду літерного символу в будь-якому регістрі. Зазвичай, буква розташована в алфавітному порядку раніше менше. ніж буква (в тому ж регістрі) розташована в алфавітному порядку після неї:

З цією темою дивляться:

Схожі статті