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

22

Від автора: вітаю вас, друзі. У цій статті ми з вами повернемося до теми операторів в JavaScript і розглянемо тему операторів порівняння. Значною мірою саме завдяки операторам порівняння в JavaScript ми можемо писати повноцінні скрипти на JavaScript. Приступимо.

Давайте почнемо з переліку операторів порівняння. Як і арифметичні оператори, практично всі оператори порівняння JavaScript повинні бути знайомі вам з курсу математики початкової школи. Отже, ось вони:

> більше

< менше

>= більше або дорівнює

<= менше або дорівнює

== одно

!= не одно

=== суворе рівність (тотожно дорівнює)

!== суворе не дорівнює (тотожно дорівнює)

Як бачите, половина з цих операторів повинна бути вам вже знайома і записується практично так само, як і в шкільній математиці. Давайте тепер подивимося на кожен з цих операторів. Так, і перш, ніж ми це зробимо, пару слів про те значення, яке поверне операція порівняння. Як ви, напевно, вже здогадалися, операція порівняння поверне або істину (істина) або false (хибність), тобто завжди результатом буде булеве значення.

Отже, оператори більше (>), менше (=) і менше або дорівнює (<=). Все просто, оператори порівнюють числа точно так само, як і в математиці:

3 > 3; // false
3 = 3; // true
3 <= 3; // true

Результати порівняння чисел цілком очевидні і передбачувані. Наступний оператор одно (==). Не плутайте з оператором присвоювання (=), який просто привласнює значення змінної. Оператор одно саме порівнює рівність якихось значень:

3 == 3; // true

Зворотний йому оператор не дорівнює (!=). У шкільній математиці він записується дещо інакше (≠):

3 != 3; // false
2 != 3; // true

Принадність операторів порівняння в JavaScript полягає в тому, що вони дозволяють порівнювати не лише числа, але й рядки. І ось тут треба бути акуратним і не забувати про можливі нюанси. Рядки порівнюються буквально і більшою вважається той рядок, порівнювана буква якої йде пізніше в алфавіті. Загалом, принцип абсолютно той же, що і в словниках. Приклади:

alert(‘а’ > ‘б’); // false
alert(‘а’ < ‘б’); // true
alert(‘а’ == »); / / false

А так зі словами:

alert(‘кошеня’ > ‘щенки’); // false, перша літера к ‘кіт’); // true, перші три літери (кіт) рівні, наступна літера (е) у першому слові більше, ніж нічого у другому слові
alert(‘програма’ < ‘програмування’); // true, частини програм обох слів рівні, а далі порівнюються < і == true

А тепер приклад того, як треба бути акуратним:

alert(‘2′ > ’10’); // true

Упс! — скажете ви. Як так, адже 2 менше 10? Чому ж тоді цей вираз поверне true? Насправді тут ми порівнюємо вже не числа, а рядки. Ну а коли так, то вони будуть порівнюватися посимвольно, як звичайні рядки. Ну а 2 більше 1. Не забувайте про цей нюанс і не забувайте, що ви можете навести числову рядок до числа з допомогою плюс плюс.

Ну і останні два оператори: суворе одно (===) і суворе не дорівнює (!==). Для чого вони потрібні і в чому їх відмінність від звичайних операторів дорівнює (==) і не одно (!=). Відмінність в тому, що тотожні одно та одно не порівнюють не тільки значення, але і типи даних. При цьому true буде результатом тій операції, де рівні і значення, і типи. У іншому випадку буде повернуто » false:

alert(2 == ‘2’); // true, значення рівні
alert(2 === ‘2’); // false, значення рівні, але типи немає: 2 (число) ‘2’ (рядок)
alert(2 != ‘2’); // false, значення рівні
alert(2 !== ‘2’;); // true, значення рівні, але типи немає: 2 (число) ‘2’ (рядок)

На цьому ми завершуємо статтю і знайомство з основними операторами JavaScript. Якщо ви хочете більше дізнатися про JavaScript, тоді рекомендую звернути свою увагу на уроки по JavaScript і окремий курс по мові JavaScript. Удачі!