TypeScript и статическая типизация
В JavaScript слабая динамическая типизация. Это означает две вещи:
1. Любая переменная может произвольно менять свой тип во время выполнения программы.
2. При операциях с переменными разных типов они будут автоматически приведены к одному типу.
Эти свойства языка часто мешают создавать большие надёжные приложения. Поэтому появились решения, которые расширяют язык, добавляя в него строгую статическую типизацию. «Строгая» означает запрет автоматического приведения типов, «статическая» значит, что переменные не меняют свой тип. Самое популярное решение в этой области — TypeScript. Другие, менее популярные — Flow, Hegel.
@seniorFront