Модульні уроки (1/2)
Примітивні типи та анотації
TypeScript — це типовий наднабір JavaScript, тобто він додає синтаксис статичних типів поверх існуючого JavaScript. Під час виконання весь код TypeScript компілюється в чистий JavaScript, а типи повністю зникають під час процесу збирання.
Завдяки TypeScript ви можете виявляти помилки до того, як код запуститься в браузері, що робить ваш процес розробки більш надійним, безпечним і масштабованим.
Примітивні типи
TypeScript підтримує стандартні примітивні типи JavaScript:
string: представляє послідовності символів (наприклад,'Alice',"Hello").number: представляє числові значення, як цілі, так і десяткові (наприклад,42,3.14).boolean: представляє значення істинності (trueабоfalse).nullтаundefined: представляють навмисну або ненавмисну відсутність значення.
const username: string = 'Alice';
const score: number = 100;
const isActive: boolean = true;Анотації змінних і висновок
У TypeScript ми можемо додати анотацію типу, використовуючи двокрапку (:), за якою йде тип.
Якщо ви спробуєте призначити значення іншого типу (наприклад, призначити рядок age, визначеному як number), компілятор TypeScript негайно викличе помилку ще до запуску коду.
Небезпека типу any
Тип any — це спеціальний вихідний люк, який повідомляє TypeScript повністю вимкнути перевірку типу для цієї змінної.
let data: any = 42;
data = 'Hello'; // No error!
data.nonExistentMethod(); // No error at compile time, but it crashes at runtime!Використання any зводить нанівець усі переваги безпеки використання TypeScript. Це вважається поганою практикою, і її майже завжди слід уникати у робочому коді.
Анотації функцій і тип void
Ми можемо анотувати як параметри, так і повернене значення функції:
function calculateTax(price: number, taxRate: number): number {
return price * taxRate;
}Якщо функція не повертає жодного значення (наприклад, вона виконує лише console.log), її тип повертається void:
function logMessage(message: string): void {
console.log(message);
}Спробуйте самі
Вправа 1: типізовані змінні
Оголошіть три явно введені змінні: ім’я користувача як рядок зі значенням «Аліса», оцінка як число зі значенням 100 і isActive як логічне зі значенням true. Не використовуйте жодного типу.
Показати підказку
Використовуйте синтаксис : string, : number і : boolean після імені кожної змінної.
Рішення доступне після 3 спроб
Вправа 2: Функція привітання
Створіть функцію під назвою greet, яка приймає ім’я параметра типу string і повертає рядок у форматі «Hello,» після якого йде ім’я. Явно вкажіть як тип параметра, так і тип повернення.
Показати підказку
Оголошіть функцію як function greet(name: string): string { ... } і поверніть повідомлення.
Рішення доступне після 3 спроб
Вправа 3: Перетворювач температури
Оголошіть функцію celsiusToFahrenheit, яка приймає параметр celsius типу number і повертає еквівалентну температуру в градусах Фаренгейта (число). Формула: Цельсій * 9 / 5 + 32. Явно вкажіть як тип параметра, так і тип повернення.
Показати підказку
Помножте градуси Цельсія на 9, поділіть на 5, додайте 32 і поверніть результат із типом повернення : число у функції.
Рішення доступне після 3 спроб
Вправа 4: Розрахунок знижки
Створіть функцію з назвою calculateDiscount, яка приймає параметр price типу number і параметр discountPercent типу number і повертає кінцеву ціну зі знижкою як число. Явно вкажіть типи параметрів і тип повернення.
Показати підказку
Відніміть від 1 відсоток знижки, поділений на 100, а потім помножте на ціну. Переконайтеся, що ви примітили параметри та повернули значення як число.
Рішення доступне після 3 спроб