Показать сообщение отдельно
  #29 (permalink)  
Старый 25.11.2014, 18:38
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от krutoy
Нет, ты не понял. инкремент -- это деструктивная операция, она меняет свой операнд. твой вшивый пример не в кассу. Это означало бы, что оператор плюс отныне будет означать двойное сложение, если уж развивать этот бред.
нет, ты снова не вкурил (инкремент --, который декремент, опустим):
можно писать всё, что угодно, лишь бы транслятор мог это выполнить, а ты понимал, к чему это приведёт,
как это всё будет интерпретироваться описано в спецификации, чтобы и другие это поняли также как и ты

хорошо, интуитивно вроде бы всем понятно, что 1++ работать не должно
кому не понятно, смотрит в консоль и убеждается - действительно, не работает

http://es5.javascript.ru/x11.html#x11.3.1
пункт 1 - описательный
числовой литерал в исходном тексте программы представляет собой неизменное значение и не создаёт ссылку (не типа Reference), поэтому пункт 2 проходим без проблем (было рассуждал на тему Точности перевода)
3, 4 - норма
затык на пункте 5
Цитата:
Вызвать PutValue(lhs, newValue).
http://es5.javascript.ru/x8.html#x8.7.2
Цитата:
1. Если Тип(V) не является Reference, сгенерировать исключение ReferenceError.
физический смысл простой: ++ в стакан может долить, а с закуски оно стекает
Ответить с цитированием