Главная страница » JavaScript » 9 . Приоритет операций
В программировании порядок выполнения операций определяется приоритетом операторов. В JavaScript, как и в других языках программирования, некоторые операторы выполняются раньше других. Понимание приоритета операций позволяет правильно интерпретировать и вычислять сложные выражения.
Вот таблица приоритета операций в JavaScript (в порядке убывания приоритета):
( ). и []++, --, +, -, !, ~, typeof, void, delete***, /, %+, -<<, >>, >>><, <=, >, >=, in, instanceof==, !=, ===, !==&^|&&||? :=, +=, -=, *=, /=, %= и т.д.,Рассмотрим пример с использованием арифметических операторов.
let a = 10;
let b = 5;
let c = 2;
let result = a + b * c; // Приоритет умножения выше, чем сложения
console.log(result); // 20 (а не 30)
Логические операции также подчиняются правилам приоритета.
let isTrue = true;
let isFalse = false;
let result = isTrue && isFalse || isTrue; // Приоритет у AND выше, чем у OR
console.log(result); // true
Скобки позволяют явно задавать порядок выполнения операций.
let a = 10;
let b = 5;
let c = 2;
let result = (a + b) * c; // Скобки изменяют порядок выполнения операций
console.log(result); // 30 (а не 20)
let x = 8;
let y = 4;
let z = 2;
let result = (x + y) * z / (x - y); // Скобки задают порядок выполнения операций
console.log(result); // 6
let age = 20;
let hasID = true;
let isMember = false;
let canEnter = (age >= 18 && hasID) || isMember; // Приоритет у AND выше, чем у OR
console.log(canEnter); // true
Неправильный порядок операций: Не учитывая приоритет операций, можно получить неожиданный результат.
let a = 5;
let b = 10;
let c = 2;
let result = a + b * c; // Ожидаемый результат: 25 (а не 30)
console.log(result); // 25
Решение: Используйте скобки для явного указания порядка операций.
let result = (a + b) * c; // Правильный результат: 30
console.log(result); // 30
let a = true;
let b = false;
let c = true;
let result = a && b || c; // Ожидаемый результат: true (а не false)
console.log(result); // true
Решение: Используйте скобки для группировки логических операций.
let result = (a && b) || c; // Правильный результат: true
console.log(result); // true
Понимание приоритета операций и использование скобок для явного задания порядка выполнения — ключевые навыки для написания корректного и предсказуемого кода в JavaScript. Эти знания помогут вам избежать ошибок и писать более понятный код.
Напишите код, который выполняет следующие действия:
a, b и c с любыми числовыми значениями.a + b * c - b / a.
let a = 10;
let b = 5;
let c = 2;
// Без скобок
let result = a + b * c - b / a;
console.log(result); // Результат вычислений без скобок
// Со скобками
result = (a + b) * (c - b) / a;
console.log(result); // Результат вычислений со скобками
Напишите код, который проверяет логическое условие:
isAdult (boolean), hasID (boolean) и isMember (boolean).isAdult && hasID || isMember.
let isAdult = true;
let hasID = false;
let isMember = true;
// Без скобок
let canEnter = isAdult && hasID || isMember;
console.log(canEnter); // Результат без скобок
// Со скобками
canEnter = (isAdult && hasID) || isMember;
console.log(canEnter); // Результат со скобками
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024-2025 Все права защищены. CodeFor.
Язык сайта: