В комментарии вы сказали:
Я понимаю [что a++
- это a = a + 1
], но я не знал, что это можно сделать в console.log
Вызов console.log
аналогичен вызову любой другой функции. foo(a++)
будет делать то же самое:
- Сначала значение
a
откладывается для будущего использования - Затем к нему добавляется 1, обновляя
a
- Затем старое значение
a
из шага 1 передается в foo
(или console.log
).
(Это потому, что вы использовали постфиксный инкремент. Если вы ' d использовал приращение префикса [++a
], функция получала бы обновленное значение, а не старое значение.)
console.log
не особенное, это просто предопределенная функция большинства сред (браузеры, Node.js) ) сделать доступным свой код. Если вы выполняете побочные эффекты в списке аргументов (например, a++
), эти побочные эффекты возникают.