JavaScript: Операторы

В математике и программировании мы часто используем знаки операций, такие как +, -, * и другие. В программировании такие знаки называются операторами.

  • Оператор представляет собой символ или слово, которое обозначает действие.
  • Операнды — это значения, к которым применяется оператор.

Пример:

console.log(8 + 2);

Здесь:

  • + является оператором
  • 8 и 2 являются операндами
  • результатом будет 10
операнд   оператор   операнд       результат
    8         +          2       →      10
    5         -          3       →      2
    4         *          3       →      12

Унарные операторы

Существуют и унарные операции, которые работают с одним операндом. Пример:

console.log(-3); // => -3

В этом случае - является унарным оператором, а 3 — операндом. Интерпретатор получает команду: «возьми число 3 и измени его знак».

Оператор - может использоваться по-разному. Когда он стоит между двумя числами, это операция вычитания:

console.log(5 - 2);   // => 3
console.log(10 - 7);  // => 3

Эта разница особенно заметна при работе с отрицательными числами:

// минус на минус дает плюс
console.log(5 - -2); // => 7

Сначала мы видим операцию вычитания: 5 - (...). Но справа стоит унарный минус -2, который превращает 2 в отрицательное число. В итоге получается: 5 - (-2) = 7.

Таким образом, значение - зависит от контекста: если рядом стоит другое число — это вычитание, иначе — смена знака числа.

Ошибки при вычислениях

Если воспринимать -3 как единое число, можно не заметить, что - является отдельным оператором со своим приоритетом. Например:

console.log(-3 ** 2); // => -9, а не 9!

На первый взгляд может показаться, что в квадрат возводится -3, и результат должен быть 9. Но результат будет -9.

Дело в порядке вычислений: сначала выполняется возведение в степень (**), а только потом применяется унарный минус. То есть: -(3 ** 2) = -9. Про приоритет операций поговорим подробнее в следующих уроках.

Задание

Подводная лодка находится на глубине -81 м. Палуба спасательного корабля расположена на высоте +6 м над уровнем воды.

Рассчитайте и выведите на экран:

  1. Полное расстояние всплытия в метрах.
  2. Время подъема в минутах — лодка поднимается со скоростью 3 м/мин.

Полезное

  • Всегда отбивайте арифметические операторы пробелами от своих операндов — это хороший стиль программирования.

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются