Задать вопрос
@alexbrz77

Инкремент в javascript почему работает так?

<html>

<body>
<script>
'use strict';
var years = prompt('Сколько вам лет?', 100);
years = years++;
alert('Вам ' + years + ' лет!');
</script>
</body>

</html>


Почему после выражения years = years++; переменная years не увеличивается на единицу, а остается равной 100? Я понимаю, что выражение не корректное, но меня интересует механизм языка в данном случае. По идее, переменной years должно было сначала присвоиться ее же старое значение, то есть 100, а затем эта же переменная должна была увеличиться на 1 инкрементом. Но alert выводит все равно 100. Почему так?
javascript
  • Вопрос задан
  • 1284 просмотра
Подписаться 2 Оценить Комментировать
Ответ пользователя _ _ К ответам на вопрос (5)
AMar4enko
@AMar4enko
Потому что приоритет операторов и инкремент постфиксный.
stackoverflow.com/questions/3346450/what-is-the-di...
Ответ написан