• Теория
  • Теория

Приоритет операций

Мы уже знаем, что программа состоит из команд, а команды состоят из операций. В одной команде операций может быть несколько. В прошлом задании мы написали такой код:

console.log(firstDay / 24 * 100);

Команда, результат которой выводится в консоль, состоит из двух операций: деления и умножения. JavaScript выполнит эти операции в том порядке, в котором они записаны, слева направо. Но так происходит не всегда.

Порядок выполнения операций зависит от их приоритета. Если у операций одинаковый приоритет, они выполняются слева направо. Но что если приоритет разный? Рассмотрим такой код:

let timeInMinutes = (3 + 2.5) * 60;

В этой команде две арифметические операции и операция присваивания. В каком порядке они выполнятся?

У выражения в круглых скобках самый высокий приоритет, поэтому сначала JavaScript сложит числа 3 и 2.5. Следующее по приоритету — умножение: JavaScript умножит сумму — 5.5 — на 60. У операции присваивания низкий приоритет, она выполнится в последнюю очередь. В итоге в переменную запишется результат умножения — число 330. Приоритет различных операторов можно посмотреть здесь.

Сложные команды можно упростить, разбив их на несколько шагов. Например, мы могли бы сохранить сумму в промежуточную переменную и использовать её на следующем шаге:

// Этот код даст тот же результат
let mediaInTwoDays = 3 + 2.5;
console.log(mediaInTwoDays * 60);

// Что и этот
console.log((3 + 2.5) * 60);

Разработчик сам решает, использовать сложные команды из нескольких операций или разбивать их на несколько шагов, состоящих из простых операций. Но есть золотое правило — чем проще код, тем лучше.

Попрактикуемся разбивать и использовать сложные команды.

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Основы программирования на JavaScript» тренажёра «Программирование на JavaScript — основы языка» можно после регистрации и оформления подписки.