ВведениеTypeScript 5.5 (бета-версия) вносит ряд значительных изменений, главным из которых является введение inferred type predicate. Давайте разберемся, что это такое и как это может упростить нашу работу с типами.Что такое Type Predicate?Type predicate - это функция, которая помогает TypeScript определить тип переменной в определенном контексте. Рассмотрим пример:В этом примере `cupsInStock` все еще имеет тип `(CoffeeCup | undefined)[]`, хотя мы отфильтровали все `undefined` значения. Раньше нам приходилось явно определять функцию type predicate:Inferred Type Predicate в TypeScript 5.5TypeScript 5.5 вводит концепцию inferred type predicate, которая автоматически выводит type predicate для функций, удовлетворяющих определенным условиям:1. Функция не имеет явного типа возврата или predicate annotation.2. В функции только один явный return (без неявных return).3. Функция не изменяет входной параметр.4. Функция возвращает boolean, связанный с уточнением типа параметра.Пример:В этом случае `isNumber` будет автоматически выведен как `(x: unknown) => x is number`.Ограничения и Особенности1. Изменение параметра функции препятствует выведению:2. Неоднозначные случаи:Здесь `filter(e => !!e)` не будет работать как ожидается, потому что `0` (валидное число) также будет отфильтровано.🔗 Полезные материалы и курсы по разработке:purpleschool.ruPurpleSchool - Обучающая платформа для старта карьеры в IТ и роста | Антон Ларичев
Писать на сайте про бизнес статью о программировании как наглядный пример партизанского маркетинга
Тут тоже есть тема - Разработка. Почему бы и нет)
Совершенно случайно увидела здесь эту статью.
Спасибо!
Поигралась в песочнице с разными версиями. Нравится куда идет typescript.
Супер)