Operators

Обновлено: 09.03.2023

Оператори JavaScript

Оператори використовуються для присвоєння значень, порівняння значень, виконання арифметичних операцій тощо.

Існують різні типи операторів JavaScript:

  • Арифметичні оператори
  • Оператори присвоєння
  • Оператори порівняння
  • Логічні оператори
  • Умовні оператори
  • Оператори типу

Арифметичні оператори JavaScript

Арифметичні оператори використовуються для виконання арифметичних дій між змінними та/або значеннями.

Враховуючи, що y = 5 , таблиця нижче пояснює арифметичні оператори:

OperatorNameExampleResults
+Additionx = y + 2y=5, x=7
-Subtractionx=y-2y=5, x=3
*Multiplicationx=y*2y=5, x=10
**Exponentiation ES2016x=y**2y=5, x=25
/Divisionx = y / 2y=5, x=2.5
%Remainderx = y % 2y=5, x=1
++Pre incrementx = ++yy=6, x=6
++Post incrementx = y++y=6, x=5
--Pre decrementx = --yy=4, x=4
--Post decrementx = y--y=4, x=5

Оператори присвоєння JavaScript

Оператори присвоєння використовуються для призначення значень змінним JavaScript.

Враховуючи, що x = 10 і y = 5 , у таблиці нижче пояснюються оператори присвоювання:

OperatorExampleSame AsResult
=x = yx = yx = 5
+=x += yx = x + yx = 15
-=x -= yx = x - yx = 5
*=x *= yx = x * yx = 50
/=x /= yx = x / yx = 2
%=x %= yx = x % yx = 0
:x: 45size.x = 45x = 45

Рядкові оператори JavaScript

Оператор + і оператор += також можна використовувати для конкатенації (додавання) рядків.

Враховуючи, що t1 = "Добре" , t2 = "Ранок" і t3 = "" , таблиця нижче пояснює оператори:

OperatorExamplet1t2t3
=t3 = t1 + t2"Good ""Morning""Good Morning"
+=t1 += t2"Good Morning""Morning"

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

Оператори порівняння використовуються в логічних висловлюваннях для визначення рівності чи різниці між змінними чи значеннями.

Враховуючи, що x = 5 , у таблиці нижче пояснюються оператори порівняння:

OperatorNameComparingReturns
==equal tox == 8false
==equal tox == 5true
===equal value and typex === "5"false
===equal value and typex === 5true
!=not equalx != 8true
!==not equal value or typex !== "5"true
!==not equal value or typex !== 5false
>greater thanx > 8false
<less thanx<8true
>=greater or equal tox >= 8

false

<=less or equal tox <= 8true

Умовний (тернарний) оператор

Умовний оператор присвоює значення змінній на основі умови.

SyntaxExample
(condition) ? x : y(z < 18) ? x : y

Логічні оператори

Логічні оператори використовуються для визначення логіки між змінними або значеннями.

Враховуючи, що x = 6 і y = 3 , у таблиці нижче пояснюються логічні оператори:

OperatorNameExample
&&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 року:

??

Посмотреть совместимость на Can I use?

??

Додатковий оператор ланцюжка (?.)

Оператор ?.повертає undefined, якщо об’єкт є undefinedабо null(замість викидання помилки).

Побітові оператори в JavaScript

Бітові оператори працюють з 32-бітними числами. Будь-який числовий операнд в операції перетворюється на 32-розрядне число. Результат перетворюється назад на число JavaScript.

OperatorNameExampleSame asResultDecimal
&ANDx = 5 & 10101 & 000111
|ORx = 5 | 10101 | 00011015
~NOTx = ~ 5~0101101010
^XORx = 5 ^ 10101 ^ 00011004
<<Left shiftx = 5 << 10101 << 1101010
>>Right shiftx = 5 >> 10101 >> 1102
>>>Unsigned rightx = 5 >>> 10101 >>> 1102


Примітка

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