satisfies появился в TypeScript уже несколько лет назад, но в большинстве кодовых баз, которые я открываю, его до сих пор не используют.Если вы всё ещё проверяете объекты через приведение типа с помощью
as, то, возможно, просто вводите компилятор в заблуждение.Коротко о том, почему
satisfies, появившийся в TypeScript 4.9, настолько полезен.❌ Проблема
asКогда вы используете
as, вы фактически говорите TypeScript:«Не мешай, я знаю, что делаю».
Из-за этого:
типы могут расширяться;
отсутствующие свойства могут остаться незамеченными;
теряются точные литеральные типы значений.
✅ Что даёт
satisfiesС
satisfies вы говорите TypeScript:«Проверь, что объект соответствует интерфейсу, но сохрани точные типы значений внутри».
В результате:
проверяется структура объекта;
сохраняется максимально узкий тип;
автодополнение и подсказки IDE остаются точными.
@WebDev_Plus
