Я включаю noImplicitAny
и избегаю добавления аннотаций типов почти во всех случаях, кроме функций.Зачем?Потому что я не хочу случайно возвращать тип объединения, когда:
- Я забыл вернуть значение
- Я вернул значение неправильного типа
Например, мой день пойдет по-другому, если я начну с:
function example(a: number, b: number) {
против
function example(a: number, b: number): number {
Вот что будет дальше ...
function example(a: number, b: number) {
if (a > 5) {
return 5;
}
if (b > a) {
return 'b';
}
}
Мой тип возврата теперь number | string | undefined
.
Если я использую аннотацию типа возврата, я получаю дополнительную помощь *.
Это поможет вам вернуть правильный тип:
В строгом режиме он гарантирует, что вы возвращаете что-то каждый раз.
* если вам нужна дополнительная помощь, у вас также будет все строгие вещи, включенные .