Skip to main content

Що означає "статична типізація"?

Статична типізація означає, що тип даних змінної, параметра або виразу перевіряється на етапі компіляції, ще до виконання програми.

Простіше кажучи - TypeScript (або інша мова зі статичною типізацією) "перевіряє типи заздалегідь", а не під час роботи коду.


1. Приклад без статичної типізації (JavaScript)

javascript
let name = "Alice"; name = 123; // допустимо, JS не перевіряє типи console.log(name.toUpperCase()); // Помилка під час виконання

У JavaScript помилка з'явиться лише під час запуску програми, тому що тип name не фіксується.


2. Приклад зі статичною типізацією (TypeScript)

javascript
let name: string = "Alice"; name = 123; // Помилка компіляції: очікується string

TypeScript повідомляє про помилку ще до запуску коду, запобігаючи багам заздалегідь. Компілятор просто не дозволить зібрати проєкт із такою невідповідністю типів.


3. Основна ідея

При статичній типізації:

  • типи відомі заздалегідь (на етапі компіляції);
  • помилки типів виявляються до виконання програми;
  • IDE і компілятор можуть давати підказки, автодоповнення і навігацію.

4. Протилежність - динамічна типізація

ПідхідКоли перевіряються типиПриклад мовПриклад помилки
Статична типізаціяпри компіляціїTypeScript, Java, C#Помилка: "очікувався string, отримано number"
Динамічна типізаціяпід час виконанняJavaScript, PythonПомилка під час роботи програми

5. Переваги статичної типізації

  • Раннє виявлення помилок
  • Зручні підказки в IDE
  • Краща читабельність і передбачуваність коду
  • Безпечний рефакторинг і масштабування проєкту

Коротко:

Статична типізація - це механізм, який гарантує коректність типів до запуску програми, допомагаючи уникнути безлічі помилок ще на етапі розробки.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.