
Урок 04 · 10 хв
Функції
Типізуй вхід. Вихід TS часто виведе сам.
У функції важливі аргументи й те, що вона повертає. Тип повернення можна не писати, якщо він очевидний з return. Пиши його на публічних функціях і коли хочеш зафіксувати контракт: тоді випадковий return null стане помилкою, а не сюрпризом. Розділ Functions закриває optional, rest, void і колбеки.
Тип самої функції — (a: number, b: number) => number. Йому зручно дати ім'я й перевикористовувати в пропсах чи в map. Не бери вбудований Function: це майже any, автодоповнення зникне.
Перевантаження (function fn(x: string): A; function fn(x: number): B) потрібні рідко. Зазвичай вистачає union в аргументі. Якщо гілки зовсім різні — дві функції з різними іменами читаються краще. Як влаштовані overload signatures — у More on Functions.
- Functions — параметри, rest, void, колбеки
- Function Type Expressions — як записати тип самої функції
- MDN · rest-параметри — те саме
...nums, лише без типів
Перевірка
Закріпи, поки не пішов далі
1. Як типізувати колбек
onChangeз рядком?