#javascript #increment
Вопрос:
Добрый день, пожалуйста, объясните, почему при ожидании 3, 4 выводится на консоль.
let x = 1;
console.log (x x) // 4
Сначала я подумал, что приоритет операций, но тогда почему в таком примере выводится 8, а не 6, например?
let x = 1;
console.log (x x x) // 8
Извините, если этот вопрос дублируется, но я не могу найти ничего об этом вопросе.
Комментарии:
1.
x x
равно 1 3, что равно 4.x x x
равно 1 3 4, что составляет 8. Знаете ли вы разницу между приращением до и после приращения?2. x добавляет 1 к x после своего вызова, поэтому, когда вы вызываете следующий x, это действительно (x 1)
3. Да, я знаю о приращениях, но я пропустил, что мы работаем с переменной X)
Ответ №1:
Для первого примера:
let x = 1;
console.log (x x) // 4
x
возвращает значениеx
(1) и затем увеличивает его.x
это сейчас2
. (Это постфиксное приращение.)x
увеличивает значениеx
и возвращает его, равное 3 (2 1). (Это приращение префикса.)- 1 3 = 4
См.раздел Оператор Приращения.
Комментарии:
1. Боже, это было так просто… Спасибо за объяснение.
Ответ №2:
x
или x--
сначала используется, а затем обновляется.
x
или --x
сначала обновить, а затем использовать.
обновить означает обновить значение переменной x
.