Реальный приоритет инкремента/декремента

188
31 августа 2018, 00:20

Собственно вот в чём вопрос: если верить https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence , то у операторов инкремента/декремента не самый высокий приоритет. Но на практике, вне зависимости от формы(постфиксная или префиксная – не важно), они выполняются раньше, чем оператор группировки или вызов функции:

function test(i) {
  console.log(i);
  return(i);
};
let i = 0;
i++ + test(i); //1

То есть, сначала выполняется увеличение переменной на 1, затем в функцию передаётся уже увеличенное значение, а затем, так как форма инкремента постфиксная при выполнении бинарного сложения используется его значение до увеличения, то есть 0. Обернув функцию в скобки, ничего не поменялось.

Получилось, что инкремент выполнился раньше, чем функция, хотя судя по таблице приоритетов, такого быть не должно.

Или это особенность взаимодействия унарных и бинарных операторов(в данном случае плюса, который выполняется слева направо)? Облазал кучу форумов – ответа так и не нашёл. Надеюсь, кто-нибудь сможет мне объяснить, желательно простыми словами;)

READ ALSO
Расположение команд в группе

Расположение команд в группе

Задача программы - сортировать команды в группы так, чтобы в одной группе не было команд с одной и той же страныПроблема заключается в следующем:...

287
Поиск значения в массиве объектов и вывод его порядкового номера с ключом

Поиск значения в массиве объектов и вывод его порядкового номера с ключом

Дан массив объектовНайти введенное значение в массиве и выести порядковый номер элемента массива с ключом, в котором оно записано

222
Как проверить 3 input сразу?

Как проверить 3 input сразу?

Почему то у меня проверяет только один input вместо каждого с name=oneКто может подсказать как сделать проверку каждого input name="one" ?

220
Работа с файлом, полученным из input “file” [закрыт]

Работа с файлом, полученным из input “file” [закрыт]

Стоит задача изdocx документа импортировать текст в md

207