TS
1. Для примитивных типов - не меняется тип и значение. Тут оптимизация возможна и для стека и такая переменная может становиться даже регистровой переменной.
2. Для ссылочных типов - не меняется ссылка, т.е. объект остается тем же (инстанс класса, объект, массив, функция, все, символ, ну что ссылочное) А это уже достаточное основание для оптимизации, т.е. менеджеру памяти не нужно ресолвить идентификатор в адрес.