Мне тринадцать лет, я изучаю программирование. Я довольно хорошо знаю Javascript и Python, но в основном я программирую Javascript, используя Node.js в качестве компилятора.
У меня довольно наивный вопрос. Я пишу реализацию кольцевого буфера, и мне нужно знать остаток, когда -7 делится на 3. Я пошел в консоль Node.js (версия 11.1.0) и консоль Python (Python 3.7) и набрал -7 % 3. В консоли Node.js он напечатал -1, но в консоли Python он напечатал 2. Мой вопрос частично математический: какой ответ правильный, -1 или 2?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Оба правильны, но это разные вещи. Python использует фактический модуль, который является положительным. Javascript делает остаток, который может быть отрицательным.
Если вам всегда нужно положительное значение, вы можете добавить (кратное) делитель к значению и убедиться, что он всегда больше нуля и всегда будет получать один и тот же ответ. Или проверьте впоследствии отрицательное значение и добавьте делитель, чтобы получить модуль.