Прості та складні типи даних
TypeScript підтримує статичну типізацію. Це означає, що можна вказувати типи даних для змінних, параметрів функцій, властивостей об'єктів і т. д.
Далі наведено основні типи даних, доступні в TypeScript:
Прості типи даних
Прості типи даних, ще називають скалярними й вони зберігають одне значення.
number
-21, 8.3, 32
Будь-яке число. Ціле, відʼємне, дробове
string
"Just string!"
Будь-який рядок
boolean
true, false
Тільки true або false
null
null
Тільки null
undefined
undefined
Тільки undefined
Оголошення змінних і присвоєння значень
Під час оголошення змінної її тип вказують після двокрапки.
Після цього змінній можна присвоїти відповідне значення.
Можна присвоїти початкове значення одразу при ініціалізації.
Але як у прикладі вище так переважно не роблять. Якщо змінній присвоюють значення і явно передають тип, то його вказувати не треба.
В такому разі змінній автоматично задається тип за першим присвоєнням і якщо далі присвоїти значення іншого типу, то виникне помилка.
Параметрам функцій тип даних також вказують після двокрапки.
Якщо функції передають параметр з явним типом, то його вказувати не треба.
Складні типи
Масиви
Масиви чисел
Якщо ми оголосимо масив як колекцію чисел і спробуємо записати у нього якусь іншу сутність, то нам її буде підкреслено хвилястою лінією.
Масиви рядків
Якщо ми оголосимо масив як колекцію рядків і спробуємо записати у нього якусь іншу сутність, то нам її буде підкреслено хвилястою лінією.
Масив будь-яких сутностей
Можна використовувати any, щоб вказати, що змінна в масиві може мати будь-який тип.
Масив обʼєктів
Якщо ми оголошуємо масив обʼєктів в якому мають зберігатися дані певного типу, то це треба вказати, як показано нижче.
Обʼєкти
Задати тип "обʼєкт" змінній можна такими способами.
або
Але і такий запис не зовсім коректний. Адже, якщо ми присвоїмо якесь значення полю обʼєкта і спробуємо його витягнути, то буде помилка. Бо в обʼєкту не буде такої властивості, бо ми її не визначили.
Тому, треба описувати структуру об'єкта.
У прикладі вище, якщо не вказати визначений параметр об'єкта, то виникне помилка.
Або такий варіант помилки, коли намагаємося вписати невизначений параметр:
Якщо ми хочемо вказати, що якийсь параметр не обовʼязковий, а опціональний, то використовують оператор ?. Тобто ми його можемо як задавати, так і не задавати. Або присвоїти якесь значення пізніше.
Зазвичай на практиці використовують обʼєкти, які містять більше, аніж один-два параметри (властивості).
Виходячи з описаного вище складемо якийсь приклад можливого визначення типів у обʼєкті. Нехай це буде опис якоїсь книжки.
Покликання:
Last updated