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)" (корисно під час обчислення виразу без використання значення, що повертається).