Основні оператори javascript (арифметичні, логічні та інші опреатора)

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

var x = 10, y = 5;
alert ( "x + y =" + (x + y) + «\ n» +
"X - y =" + (x-y) + «\ n» +
"X * y =" + (x * y) + «\ n» +
"X / y =" + (x / y) + «\ n» +
"X% y =" + (x% y));

При виконанні стандартних арифметичних операцій необхідно стежити, щоб тип операндів був число. Інакше операнди будуть приведені до числа, а в разі неможливості приведення операндів до числа як результату виразу буде повернуто спеціальне значення NaN. виняток має операція додавання (+) застосовується до рядків.

додавання рядків

Якщо оператор + застосовується до строкових змінних, то результатом буде об'єднана рядок. приклад:

var str = "Це" + "рядок.»;
alert (str); // виведе Це рядок

alert (1 + «2»); // виведе 12
alert ( «1» + 2); // виведе 12

Перетворення в число

Для перетворення змінних в число широко застосовується унарний +.

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

var x = «1»;
var y = «2»;
alert (x + y); // виведе 12

спробувати
Але застосувавши унарний плюс можна перетворити строкові дані в число. наприклад:

var x = «1»;
var y = «2»;
alert (+ x + + y); // виведе 3

Присвоєння

Оператор присвоювання позначається символом = (дорівнює). Використовується для привласнення змінним будь-якого значення:

var x = 5;
alert (x); // виведе 5

спробувати
Оператор присвоювання, як і всі інші оператори, повертає значення. Тому його можна використовувати як частину іншого виразу:

var x = 5;
var y = 10;
var a = 15 - (x = y + x);
alert (a); // виведе 0
alert (x); // виведе 15

спробувати
Також можливо присвоювання по ланцюжку:

спробувати
Так як оператор присвоювання має асоціативність справа наліво і один з найменших пріоритетів, то спочатку виконується вираз 3 + 2, результат якого присвоюється змінної с, потім виконується вираз b = c і останнім a = b. Таким способом зручно привласнювати значення цілої групи змінних.

Інкремент (++) і декремент (-)

  • інкремент '++' - збільшення на 1;
  • декремент '-' - зменшення на 1.

спробувати
Операції інкремент і декремент можна застосовувати тільки до змінних. Так код 1 ++ видасть помилку.

Операції інкремент і декремент мають дві форми:

  • Постфіксний - після операнда (x ++);
  • префіксних - перед операндом (++ x).

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

var x = 1;
var y = 1;
var a = x ++;
alert (a); // 1
var b = ++ y;
alert (b); // 2

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

var x = 1;
var y = 5 * ++ x;
alert (y); // 10

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

Побітові оператори розглядають операнди як 32-х розрядні цілі числа і працюють на рівні їх внутрішнього двійкового представлення.

Підтримуються наступні побітові оператори:

  • AND (і) ( );
  • OR (або) (|);
  • XOR (побітовое виключає або) (^);
  • NOT (не) (
);
  • LEFT SHIFT (лівий зсув) ( <<);
  • RIGHT SHIFT (праве зрушення) (>>);
  • ZERO-FILL RIGHT SHIFT (праве зрушення із заповненням нулями) (>>>);
  • Побітові використовуються рідко і вимагаю додаткових знань в програмуванні, тому це тема для окремої статті.

    Скорочена арифметика з привласненням

    Часто буває потрібно застосувати до змінної оператор і зберегти отримане значення в ній же:

    var x = 2;
    x = x * 5;

    Такий запис можна скоротити за допомогою суміщених операторів:

    var x = 2;
    x * = 5; // рівносильно x = x * 5
    alert (x);

    спробувати
    Так можна зробити для арифметичних операторів +, -, *, / і побітових <<,>>, >>> ,, |, ^.

    Поєднані оператори мають такий же пріоритет як і оператор присвоювання і виконуються після більшості інших операцій:

    var x = 2;
    x * = 10 + 5;
    alert (x); // 30 (x = x * 15)

    оператор кома

    Самим незвичайним оператором є оператор кома (,). Вона є бінарним оператором, може приймати операнди будь-якого типу і завжди повертає значення правого операнда:

    var x = (1, 2);
    alert (x); // 2

    спробувати
    Оператор кома має пріоритет нижче привласнення, тому в прикладі вище вираз укладено в дужки, інакше б оператор = виконався б раніше і вийшло б x = 1.

    Зазвичай оператор кома використовується в конструкціях, де необхідно виконати декілька дій в одному рядку. Наприклад в циклі for:

    for (var i = 1, j = 5, x = i * j; i <10; i++) .
    >

    На цьому все! До нових зустрічей!