type Fn = (a: number, b: string) => number const fn: Fn = a => a Этот код полностью валидный со всех точек зрения, но он вводит в заблуждение разработчика, читающего код. В этом и «плохость»
Чет я не понял. Аргумент что плохая практика использовать аннотации для функций? Или что именно?
ну с функциями там много проблем с совместимостью типов
Плохая практика — присваивать переменной тип функции, а потом её инициализировать
А какая хорошая, сразу в функции писать ? Ведь это также ухудшит чтение, если там сложная функция, вернее ее тип
@kekpekdeveloper
зависит от ситуации если сигнатура у функции очень сложная, может лучше функцию переписать? или generic-алиасы для типов? а бывает, что да, foo: Foo — наилучший вариант. мой посыл про то, что такая запись иногда приводит к проблемам и лучше её избегать
Обсуждают сегодня