PassFront
  1. PassFront
  2. База знаний
  3. Основы языка

Что такое статическая типизация?

Основы языка

Статическая типизация — это модель, при которой типы переменных проверяются на этапе компиляции, до запуска программы. Тип задаётся заранее и обычно не меняется.

Что это значит

Тип известен во время компиляции; несоответствие типов — ошибка ещё до запуска:

let count: number = 5;
count = 'text'; // ошибка компиляции — тип не совпадает

Плюсы

  • Ранняя ловля ошибок — до выполнения, на этапе разработки.
  • Автодополнение и подсказки IDE — редактор знает типы.
  • Самодокументируемость — типы описывают контракты.
  • Безопасный рефакторинг — компилятор ловит поломки.

Минусы

  • Больше кода — аннотации типов.
  • Меньше гибкости — строже, дольше писать прототип.
  • Нужен этап компиляции.

Статическая против динамической

  • Статическая (TypeScript, Java) — типы на компиляции, ошибки раньше.
  • Динамическая (JavaScript, Python) — типы в рантайме, гибче, но ошибки позже.

TypeScript

Добавляет статическую типизацию поверх JavaScript: проверка на этапе компиляции, а после сборки — обычный динамический JS (типы стираются).

Коротко для собеседования

Статическая типизация — проверка типов на этапе компиляции, до запуска. Плюсы: ранняя ловля ошибок, автодополнение, безопасный рефакторинг. Минусы: больше кода, меньше гибкости. TypeScript добавляет её поверх JS; в рантайме типы стираются.

Другие вопросы раздела