Оператор и его аргументы
В 8 + 2 знак плюс является оператором, числа — операндами. Бинарная операция использует два операнда, унарная — один. Поэтому знак минус в 5 - 2 и в -2 играет разные роли.
Задание источника
Вычислите разность числа 6 и числа −81:
console.log(6 - (-81));
Вывод — 87. Вычитание отрицательного числа увеличивает первое число. Исходное решение записано как 6 - -81; скобки здесь добавлены для ясности и не меняют значение.
Не путать с декрементом
Пробелы между двумя отдельными минусами помогают читать вычитание и унарный знак. Слитная последовательность -- также существует в JavaScript как оператор декремента в подходящем контексте. Поэтому сокращать запись без понимания токенов нельзя.
Минус перед степенью
В JavaScript запись -2 ** 2 является синтаксической ошибкой: нужно явно выбрать смысл скобками. (-2) ** 2 даёт 4, а -(2 ** 2) — −4.
Это языковая особенность: нельзя механически переносить допустимость такого выражения из Python или математической записи. Унарный знак и возведение в степень требуют ясной группировки.
Проверка смысла
В исходной задаче первый операнд — 6, второй — отрицательное 81. Перестановка дала бы −87. Название операции «разность» не делает её симметричной: порядок аргументов — часть условия.
Hexlet / Code Basics и участники · Исходный урок · Степень и унарные операторы: MDN · GNU AGPL v3. Решение сохранено; особенность синтаксиса дополнена.