Operators
Оновлено: 09.03.2023
Оператори JavaScript
Оператори використовуються для присвоєння значень, порівняння значень, виконання арифметичних операцій тощо.
Існують різні типи операторів JavaScript:
- Арифметичні оператори
- Оператори присвоєння
- Оператори порівняння
- Логічні оператори
- Умовні оператори
- Оператори типу
Арифметичні оператори JavaScript
Арифметичні оператори використовуються для виконання арифметичних дій між змінними та/або значеннями.
Враховуючи, що y = 5 , таблиця нижче пояснює арифметичні оператори:
Operator | Name | Example | Results |
+ | Addition | x = y + 2 | y=5, x=7 |
- | Subtraction | x=y-2 | y=5, x=3 |
* | Multiplication | x=y*2 | y=5, x=10 |
** | Exponentiation ES2016 | x=y**2 | y=5, x=25 |
/ | Division | x = y / 2 | y=5, x=2.5 |
% | Remainder | x = y % 2 | y=5, x=1 |
++ | Pre increment | x = ++y | y=6, x=6 |
++ | Post increment | x = y++ | y=6, x=5 |
-- | Pre decrement | x = --y | y=4, x=4 |
-- | Post decrement | x = y-- | y=4, x=5 |
Оператори присвоєння JavaScript
Оператори присвоєння використовуються для призначення значень змінним JavaScript.
Враховуючи, що x = 10 і y = 5 , у таблиці нижче пояснюються оператори присвоювання:
Operator | Example | Same As | Result |
= | x = y | x = y | x = 5 |
+= | x += y | x = x + y | x = 15 |
-= | x -= y | x = x - y | x = 5 |
*= | x *= y | x = x * y | x = 50 |
/= | x /= y | x = x / y | x = 2 |
%= | x %= y | x = x % y | x = 0 |
: | x: 45 | size.x = 45 | x = 45 |
Рядкові оператори JavaScript
Оператор + і оператор += також можна використовувати для конкатенації (додавання) рядків.
Враховуючи, що t1 = "Добре" , t2 = "Ранок" і t3 = "" , таблиця нижче пояснює оператори:
Operator | Example | t1 | t2 | t3 |
= | t3 = t1 + t2 | "Good " | "Morning" | "Good Morning" |
+= | t1 += t2 | "Good Morning" | "Morning" |
Оператори порівняння
Оператори порівняння використовуються в логічних висловлюваннях для визначення рівності чи різниці між змінними чи значеннями.
Враховуючи, що x = 5 , у таблиці нижче пояснюються оператори порівняння:
Operator | Name | Comparing | Returns |
== | equal to | x == 8 | false |
== | equal to | x == 5 | true |
=== | equal value and type | x === "5" | false |
=== | equal value and type | x === 5 | true |
!= | not equal | x != 8 | true |
!== | not equal value or type | x !== "5" | true |
!== | not equal value or type | x !== 5 | false |
> | greater than | x > 8 | false |
< | less than | x<8 | true |
>= | greater or equal to | x >= 8 | false |
<= | less or equal to | x <= 8 | true |
Умовний (тернарний) оператор
Умовний оператор присвоює значення змінній на основі умови.
Syntax | Example |
---|---|
(condition) ? x : y | (z < 18) ? x : y |
Логічні оператори
Логічні оператори використовуються для визначення логіки між змінними або значеннями.
Враховуючи, що x = 6 і y = 3 , у таблиці нижче пояснюються логічні оператори:
Operator | Name | Example |
&& | AND | (x < 10 && y > 1) is true |
|| | OR | (x === 5 || y === 5) is false |
! | NOT | !(x === y) is true |
Оператор Nullish Coalescing (??)
Оператор ??
повертає перший аргумент, якщо він не є нульовим ( null
або undefined
).
В іншому випадку він повертає другий аргумент.
Оператор nullish підтримується в усіх браузерах з березня 2020 року:
Додатковий оператор ланцюжка (?.)
Оператор ?.
повертає undefined
, якщо об’єкт є undefined
або null
(замість викидання помилки).
Побітові оператори в JavaScript
Бітові оператори працюють з 32-бітними числами. Будь-який числовий операнд в операції перетворюється на 32-розрядне число. Результат перетворюється назад на число JavaScript.
Operator | Name | Example | Same as | Result | Decimal |
& | AND | x = 5 & 1 | 0101 & 0001 | 1 | 1 |
| | OR | x = 5 | 1 | 0101 | 0001 | 101 | 5 |
~ | NOT | x = ~ 5 | ~0101 | 1010 | 10 |
^ | XOR | x = 5 ^ 1 | 0101 ^ 0001 | 100 | 4 |
<< | Left shift | x = 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Right shift | x = 5 >> 1 | 0101 >> 1 | 10 | 2 |
>>> | Unsigned right | x = 5 >>> 1 | 0101 >>> 1 | 10 | 2 |
Примітка
У таблиці вище використовується 4-бітне число без знаку. Оскільки JavaScript використовує 32-розрядні числа зі знаком, ~ 5 не поверне 10. Поверне -6.
~000000000000000000000000000101 (~5)
поверне
11111111111111111111111111111010 (-6)
Оператор typeof
Оператор typeof повертає тип змінної, об’єкта, функції чи виразу.
Зверніть увагу:
- Тип даних NaN — число
- Тип даних масиву — об’єкт
- Тип даних дати — об’єкт
- Тип даних null — об’єкт
- Тип даних невизначеної змінної не визначений
приклад
typeof "John"
typeof 3.14
typeof NaN
typeof false
typeof [1, 2, 3, 4]
typeof {name:'John', age:34}
typeof new Date()
typeof function () {}
typeof myCar
typeof null
Оператор видалення
Оператор delete видаляє властивість з об’єкта.
Оператор delete видаляє як значення властивості, так і саму властивість.
Після видалення властивість не можна використовувати, доки її не буде знову додано.
Оператор видалення призначений для використання у властивостях об’єкта. Це не впливає на змінні чи функції.
Примітка
Оператор видалення не слід використовувати для властивостей будь-яких попередньо визначених об’єктів JavaScript (масив, логічний вираз, дата, функція, математика, число, RegExp і рядок).
Це може привести до збою вашої програми.
The Spread (...) Operator
The ... operator expands an iterable into more elements:
приклад
const q1 = ["Jan", "Feb", "Mar"];
const q2 = ["Apr", "May", "Jun"];
const q3 = ["Jul", "Aug", "Sep"];
const q4 = ["Oct", "Nov", "May"];
const year = [...q1, ...q2, ...q3, ...q4];
The ... operator can be used to expand an iterable into more arguments for function calls:
приклад
const numbers = [23,55,21,87,56];
let maxValue = Math.max(...numbers);
Оператор входу
Оператор in повертає true, якщо властивість є в об’єкті, інакше повертає false.
Примітка
Ви не можете використовувати in для перевірки вмісту масиву, наприклад ("Volvo" в автомобілях).
Властивості масиву можуть бути лише індексом (0,1,2,3...) і довжиною.
Дивіться приклади нижче.
Оператор instanceof
Оператор instanceof повертає true, якщо об’єкт є екземпляром вказаного об’єкта.
Оператор void
Оператор void обчислює вираз і повертає undefined . Цей оператор часто використовується для отримання невизначеного примітивного значення за допомогою "void(0)" (корисно під час обчислення виразу без використання значення, що повертається).