НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
TypeScript. Уроки для початківців

En Es De

TypeScript Спеціальні типи


TypeScript має спеціальні типи, які можуть не посилатися на певний тип даних.


Тип: any

Тип any - це тип, який вимикає перевірку типів і ефективно дозволяє використовувати всі типи.

Наведений нижче приклад не використовує any і викличе помилку:

Приклад без any

let u = true;
u = "string"; // Error: Type 'string' is not assignable to type 'boolean'.
Math.round(u); // Помилка: аргумент типу "boolean" не можна призначити параметру типу "number".
Спробуйте самі »

Встановлення спеціального типу any вимикає перевірку типу:

Приклад із any

let v: any = true;
v = "string"; // без помилок, оскільки це може бути "any" тип
Math.round(v); // без помилок, оскільки це може бути "any" тип
Спробуйте самі »

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


Тип: unknown

Тип unknown є подібною, але безпечнішою альтернативою any.

TypeScript запобігатиме використанню unknown (невідомих) типів, як показано в прикладі нижче:

let w: unknown = 1;
w = "string"; // немає помилки
w = {
  runANonExistentMethod: () => {
    console.log("I think therefore I am");
  }
} as { runANonExistentMethod: () => void}
// Як ми можемо уникнути помилки для коду, прокоментованого нижче, якщо ми не знаємо тип?
// w.runANonExistentMethod(); // Помилка: об’єкт має тип 'unknown'.
if(typeof w === 'object' && w !== null) {
  (w as { runANonExistentMethod: Function }).runANonExistentMethod();
}
// Незважаючи на те, що ми повинні виконувати кілька разів, ми можемо зробити перевірку в if, щоб захистити наш тип і мати безпечніше приведення
Спробуйте самі »

Порівняйте приклад вище з попереднім прикладом, із any.

Тип unknown найкраще використовувати, коли ви не знаєте тип даних, що вводяться. Щоб додати тип пізніше, вам потрібно буде його привести.

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


Тип: never

Тип never ефективно викидає помилку кожного разу, коли вона визначена.

let x: never = true; // Помилка: тип "boolean" не можна призначити типу "never".
Спробуйте самі »

Тип never використовується рідко, особливо сам по собі; його основне використання — у передових генериках.


Тип: undefined & null

Типи undefined та null - це типи, які посилаються на примітиви JavaScript undefined та null відповідно.

let y: undefined = undefined;
let z: null = null;
Спробуйте самі »

Ці типи не дуже корисні, якщо strictNullChecks не ввімкнено у файлі tsconfig.json.


TypeScript Вправи

Перевірте себе за допомогою вправ

Вправа:

Створіть порожню змінну "myVar" і вимкніть перевірку типу:

let myVar: ;
    



Коментарі