В TypeScript может изменяться значение переменной, но не ее тип. Единственный распространенный случай изменения типа — это его сужение (правило 22). Однако уменьшенный тип не может включать новые значения. Несмотря на то что все же существует несколько важных исключений (правило 41), это всего лишь исключения, но не правила.