Прості та складні типи даних

TypeScript підтримує статичну типізацію. Це означає, що можна вказувати типи даних для змінних, параметрів функцій, властивостей об'єктів і т. д.

Далі наведено основні типи даних, доступні в TypeScript:

Прості типи даних

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

Тип
Значення
Опис

number

-21, 8.3, 32

Будь-яке число. Ціле, відʼємне, дробове

string

"Just string!"

Будь-який рядок

boolean

true, false

Тільки true або false

null

null

Тільки null

undefined

undefined

Тільки undefined

Оголошення змінних і присвоєння значень

Під час оголошення змінної її тип вказують після двокрапки.

let myValue: number;
let myString: string;
let myBooleanValue: boolean;
let myEmptyItem: null;
let myParam: undefined; 

Після цього змінній можна присвоїти відповідне значення.

Можна присвоїти початкове значення одразу при ініціалізації.

Але як у прикладі вище так переважно не роблять. Якщо змінній присвоюють значення і явно передають тип, то його вказувати не треба.

В такому разі змінній автоматично задається тип за першим присвоєнням і якщо далі присвоїти значення іншого типу, то виникне помилка.

Параметрам функцій тип даних також вказують після двокрапки.

Якщо функції передають параметр з явним типом, то його вказувати не треба.

Складні типи

Масиви

Масиви чисел

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

Масиви рядків

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

Масив будь-яких сутностей

Можна використовувати any, щоб вказати, що змінна в масиві може мати будь-який тип.

Масив обʼєктів

Якщо ми оголошуємо масив обʼєктів в якому мають зберігатися дані певного типу, то це треба вказати, як показано нижче.

Обʼєкти

Задати тип "обʼєкт" змінній можна такими способами.

або

Але і такий запис не зовсім коректний. Адже, якщо ми присвоїмо якесь значення полю обʼєкта і спробуємо його витягнути, то буде помилка. Бо в обʼєкту не буде такої властивості, бо ми її не визначили.

Тому, треба описувати структуру об'єкта.

У прикладі вище, якщо не вказати визначений параметр об'єкта, то виникне помилка.

Або такий варіант помилки, коли намагаємося вписати невизначений параметр:

Якщо ми хочемо вказати, що якийсь параметр не обовʼязковий, а опціональний, то використовують оператор ?. Тобто ми його можемо як задавати, так і не задавати. Або присвоїти якесь значення пізніше.

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

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

Покликання:

Типи даних в TypeScript

Last updated