Операції JavaScript

Математичні операції

JavaScript підтримує всі базові математичні операції:

Додавання:

let x = 10;
let y = x + 50;

Віднімання:

let x = 100;
let y = x - 50;

Множення:

let x = 4;
let y = 5;
let z = x * y;

Ділення:

let x = 5;
let y = 2;
let z = x / y;
console.log(z); // 2,5

Ділення за модулем

Ділення за модулем (оператор %) повертає залишок від ділення:

let x = 5;
let y = 2;
let z = x % y;
console.log(z); // 1

Результатом буде 1, оскільки найбільше ціле число, яке менше або дорівнює 5 і при цьому ділиться на 2 дорівнює 4, а 5 - 4 = 1.

Піднесення до степеня. Оператор ** зводить число в певний ступінь:

число ** степінь

Наприклад:

const n = 2 ** 3;
console.log(n); // 8
 
const x = 3;
const y = 2;
const z = x ** y;
console.log(z); // 9

Інкремент:

let x = 5;
x++; // x = 6

Оператор інкременту ++ збільшує змінну на одиницю. Існує префіксний інкремент, який спочатку збільшує змінну на одиницю, а потім повертає її значення. І є постфіксний інкремент, який спочатку повертає значення змінної, а потім збільшує його на одиницю:

// префіксний інкремент
let x = 5;
let z = ++x;
console.log(x); // 6
console.log(z); // 6

// постфіксний інкремент
let a = 5;
let b = a++;
console.log(a); // 6
console.log(b); // 5

​​Постфіксний інкремент аналогічний операції:

a = a + 1; // a++

Декремент зменшує значення змінної на одиницю. Також є префіксний і постфіксний декремент:

// префіксний декремент
let x = 5;
let z = --x;
console.log(x); // 4
console.log(z); // 4
     
// постфіксний декремент
let a = 5;
let b = a--;
console.log(a); // 4
console.log(b); // 5

Як і заведено в математиці, всі операції виконуються зліва направо і розрізняються за пріоритетами: спочатку операції інкременту і декременту, потім виконуються множення і ділення, а потім додавання і віднімання. Щоб змінити стандартний хід виконання операцій, частину виразів можна помістити в дужки:

let x = 10;
let y = 5 + (6 - 2) * --x;
console.log(y); //41

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

Як правило, для перевірки умови використовуються оператори порівняння. Оператори порівняння порівнюють два значення і повертають значення true або false:

  • ==
    Оператор рівності порівнює два значення, і якщо вони рівні, повертає true, інакше повертає false: x == 5
  • ===
    Оператор тотожності також порівнює два значення та їхній тип, і якщо вони рівні, повертає true, інакше повертає false: x === 5
  • !=
    Порівнює два значення, і якщо вони не рівні, повертає true, інакше повертає false: x != 5
  • !==
    Порівнює два значення та їхні типи, і якщо вони не рівні, повертає true, інакше повертає false: x !== 5
  • >
    Порівнює два значення, і якщо перше більше другого, то повертає true, інакше повертає false: x > 5
  • <
    Порівнює два значення, і якщо перше менше другого, то повертає true, інакше повертає false: x < 5
  • >=
    Порівнює два значення, і якщо перше більше або дорівнює другому, то повертає true, інакше повертає false: x >= 5
  • <=
    Порівнює два значення, і якщо перше менше або дорівнює другому, то повертає true, інакше повертає false: x <= 5

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

let income = 100;
let strIncome = "100";
let result = income == strIncome;
console.log(result); //true

Змінна result тут дорівнюватиме true, оскільки фактично і income, і strIncome представляють число 100.

Але оператор тотожності поверне в цьому випадку false, оскільки дані мають різні типи:

let income = 100;
let strIncome = "100";
let result = income === strIncome;
console.log(result); // false

Аналогічно працюють оператори нерівності != і !==.

Логічні операції

Логічні операції застосовуються для об'єднання результатів двох операцій порівняння. У JavaScript є такі логічні операції:

&&

Повертає true, якщо обидві операції порівняння повертають true, інакше повертає false:

let income = 100;
нехай відсоток = 10;
let result = income > 50 && percent < 12;
console.log(result); //true

||

Повертає true, якщо хоча б одна операція порівняння повертає true, інакше повертає false:

let income = 100;
let isDeposit = true;
let result = income > 50 || isDeposit == true;
console.log(result); //true

!

Повертає true, якщо операція порівняння повертає false:

let income = 100;
let result1 = !(income > 50);
console.log(result1); // false, оскільки income > 50 повертає true
 
let isDeposit = false;
let result2 = !isDeposit;
console.log(result2); // true

Операції присвоювання

=

Прирівнює змінній певне значення: let x = 5;

+=

Додавання з подальшим присвоєнням результату. Наприклад:

let a = 23;
a += 5; // аналогічно a = a + 5
console.log(a); // 28

-=

Віднімання з подальшим присвоєнням результату. Наприклад:


let a = 28;
a -= 10; // аналогічно a = a - 10
console.log(a); // 18

*=

Множення з подальшим присвоєнням результату:

let x = 20;
x *= 2; // аналогічно x = x * 2
console.log(x); // 40

**=

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

let x = 5;
x **= 2;
console.log(x);// 25

/=

Ділення з подальшим присвоєнням результату:

let x = 40;
x /= 4; // аналогічно x = x / 4
console.log(x); // 10

%=

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

let x= 10;
x %= 3; // аналогічно x = x % 3
console.log(x); // 1, оскільки 10 - 3*3 = 1

&&=

a &&= b повертає b, якщо і a і b дорівнюють true. Якщо якийсь із операндів дорівнює false, то повертається a. Аналогічно виконанню a = a && b:

let x = true;
let y = false;
y &&= x;
console.log(y); // false
 
let c = false;
let d = true;
c &&= d;
console.log(c); // false
 
let a = true;
let b = true;
a &&= b;
console.log(a); // true
 
let e = false;
let f = false;
e &&= f;
console.log(e); // false

||=

a ||= b еквівалентно виразу a = a || b:

let x = true;
let y = false;
y ||= x;
console.log(y); // true
 
let a = true;
let b = true;
a ||= b;
console.log(a); // true
 
let c = false;
let d = true;
c ||= d;
console.log(c); // true
 
let e = false;
let f = false;
e ||= f;
console.log(e); // false