TypeScript Функції
TypeScript має спеціальний синтаксис для введення параметрів функції та повернених значень.
Докладніше про функції читайте в розділі JS Функції.
Тип повернення
Тип значення, яке повертає функція, може бути визначено явно.
Приклад
// `: number` тут вказує, що ця функція повертає число
function getTime(): number {
return new Date().getTime();
}
Спробуйте самі »
Якщо тип повернення не визначено, TypeScript спробує визначити його через типи повертаних змінних або виразів.
Тип повернення Void
Тип void
можна використовувати, щоб вказати, що функція не повертає жодного значення.
Параметри
Параметри функції вводяться з подібним синтаксисом, як і оголошення змінних.
Якщо тип параметра не визначено, TypeScript за умовчанням використовуватиме any
(будь-який), якщо не доступна додаткова інформація про тип, як показано в розділах Параметри за замовчуванням і Псевдонім типу нижче.
Необов’язкові параметри
За замовчуванням TypeScript припускатиме, що всі параметри є обов’язковими, але їх можна явно позначити як необов’язкові.
Приклад
// оператор `?` тут позначає параметр `c` як необов’язковий
function add(a: number, b: number, c?: number) {
return a + b + (c || 0);
}
Спробуйте самі »
Параметри за замовчуванням
Для параметрів зі значеннями за замовчуванням значення за замовчуванням іде після анотації типу:
Приклад
function pow(value: number, exponent: number = 10) {
return value ** exponent;
}
Спробуйте самі »
TypeScript також може вивести тип зі значення за замовчуванням.
Іменовані параметри
Введення іменованих параметрів відбувається за тим самим шаблоном, що й звичайні параметри.
Приклад
function divide({ dividend, divisor }: { dividend: number, divisor: number }) {
return dividend / divisor;
}
Спробуйте самі »
Інші параметри
Інші параметри можна вводити як звичайні параметри, але тип має бути масивом, оскільки решта параметрів завжди є масивами.
Приклад
function add(a: number, b: number, ...rest: number[]) {
return a + b + rest.reduce((p, c) => p + c, 0);
}
Спробуйте самі »
Псевдоніми типів
Типи функцій можна вказати окремо від функцій із псевдонімами типів.
Ці типи записуються подібно до функцій стрілки. Дізнайтеся більше про функції стрілки в розділі JS Функції стрілки.
Приклад
type Negate = (value: number) => number;
// у цій функції параметру `value` автоматично присвоюється тип `number` із типу `Negate`
const negateFunction: Negate = (value) => value * -1;
Спробуйте самі »