Що означає "статична типізація"?
Статична типізація означає, що тип даних змінної, параметра або виразу перевіряється на етапі компіляції, ще до виконання програми.
Простіше кажучи - TypeScript (або інша мова зі статичною типізацією) "перевіряє типи заздалегідь", а не під час роботи коду.
1. Приклад без статичної типізації (JavaScript)
let name = "Alice";
name = 123; // допустимо, JS не перевіряє типи
console.log(name.toUpperCase()); // Помилка під час виконанняУ JavaScript помилка з'явиться лише під час запуску програми, тому що тип
nameне фіксується.
2. Приклад зі статичною типізацією (TypeScript)
let name: string = "Alice";
name = 123; // Помилка компіляції: очікується stringTypeScript повідомляє про помилку ще до запуску коду, запобігаючи багам заздалегідь. Компілятор просто не дозволить зібрати проєкт із такою невідповідністю типів.
3. Основна ідея
При статичній типізації:
- типи відомі заздалегідь (на етапі компіляції);
- помилки типів виявляються до виконання програми;
- IDE і компілятор можуть давати підказки, автодоповнення і навігацію.
4. Протилежність - динамічна типізація
| Підхід | Коли перевіряються типи | Приклад мов | Приклад помилки |
|---|---|---|---|
| Статична типізація | при компіляції | TypeScript, Java, C# | Помилка: "очікувався string, отримано number" |
| Динамічна типізація | під час виконання | JavaScript, Python | Помилка під час роботи програми |
5. Переваги статичної типізації
- Раннє виявлення помилок
- Зручні підказки в IDE
- Краща читабельність і передбачуваність коду
- Безпечний рефакторинг і масштабування проєкту
Коротко:
Статична типізація - це механізм, який гарантує коректність типів до запуску програми, допомагаючи уникнути безлічі помилок ще на етапі розробки.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.