#satisfies — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #satisfies, aggregated by home.social.
-
Точно ли здесь нужен `any`? 13 сценариев из TypeScript-код-ревью — от `unknown` до границы приложения
Красная волнистая линия под строкой раздражает, и самый быстрый способ её убрать — дописать any , as или ! . Компилятор замолкает, сборка зеленеет, PR уходит дальше. Вот только ошибка никуда не делась: она переехала из редактора в рантайм, поближе к пользователю. За годы ревью — чужого кода и своего — я привык читать эти три символа как сигнальную лампочку. Они почти всегда отмечают место, где тип не описан, а выключен. Иногда это осознанный и оправданный выбор. Гораздо чаще — способ не разбираться прямо сейчас, счёт за который приходит позже и другому человеку. Поэтому на code review я задаю не привычное «как затипизировать, чтобы TypeScript замолчал», а обратный вопрос: Что именно я здесь отключаю — и правда ли без этого нельзя? Веду frontend-команду, много времени провожу в чужих диффах, и про any , as и ! у нас постепенно сложился небольшой свод договорённостей для review. Из него и выросла эта статья: 13 сценариев, которые складываются в один короткий фильтр. Для каждого есть пара «плохо → хорошо» и рабочий пример на TypeScript 6 — всё можно потрогать в playground (он написан на React, но сами приёмы относятся к TypeScript в целом). Разберём any и unknown , сужение и type guards, satisfies , as const , оператор ! и валидацию данных на границе. Главная мысль: Типы — это проверяемые обещания о данных. any, а также необоснованные as T и !, позволяют компилятору принять такое обещание без доказательства. Если тип неизвестен — это unknown и сужение; если известен, но невиден компилятору — это guard, валидация или контролируемый инвариант, а не слепое утверждение.
https://habr.com/ru/articles/1055944/
#TypeScript #any #unknown #type_guards #type_assertions #narrowing #satisfies #строгая_типизация #code_review #валидация_данных
-
Перестаем бороться с компилятором TypeScript и начинаем писать безопасный и строго типизированный код
Система типов в TypeScript может творить чудеса, но на практике многие используют ее едва ли на десять процентов. Признайтесь, мы все хотя бы раз лепили any просто чтобы компилятор отстал и дал собрать проект. Проблема в том, что такие компромиссы рано или поздно приводят к неожиданным падениям в рантайме. В этой небольшой статье мы разберем несколько полезных практик, которые помогут писать более чистый код и будут реально отлавливать баги еще до того, как они попадут в продакшен.
https://habr.com/ru/articles/1003342/
#typescript #программирование #типы_данных #javascript #satisfies #type_guard
-
TIL: `satisfies` is my favorite TypeScript keyword
https://sjer.red/blog/2024-12-21/
#HackerNews #TIL #TypeScript #satisfies #keyword #programming #developer #community
-
TIL: `satisfies` is my favorite TypeScript keyword
https://sjer.red/blog/2024-12-21/
#HackerNews #TIL #TypeScript #satisfies #keyword #programming #developer #community
-
Can't believe I'm about to share #typescript content, but version 5.0 adds support for @satisfies and @overload to #JSDoc and that's p cool 👍
#Overload let's you type functions that can take different arguments which seems bad but w/e https://devblogs.microsoft.com/typescript/announcing-typescript-5-0-beta/#overload-support-in-jsdoc
#Satisfies is some TS bullshit I haven't figured out yet but which is probably useful sometimes https://devblogs.microsoft.com/typescript/announcing-typescript-5-0-beta/#satisfies-support-in-jsdoc
I just like to see parity with JSDocs and TS Syntax!
-
Can't believe I'm about to share #typescript content, but version 5.0 adds support for @satisfies and @overload to #JSDoc and that's p cool 👍
#Overload let's you type functions that can take different arguments which seems bad but w/e https://devblogs.microsoft.com/typescript/announcing-typescript-5-0-beta/#overload-support-in-jsdoc
#Satisfies is some TS bullshit I haven't figured out yet but which is probably useful sometimes https://devblogs.microsoft.com/typescript/announcing-typescript-5-0-beta/#satisfies-support-in-jsdoc
I just like to see parity with JSDocs and TS Syntax!
-
#typescript 4.9 is only a few days old and I already can't image it without the #satisfies operator anymore lol. If you need help to understand it, watch this https://youtu.be/Danki1DyiuI?t=247