Jump to content

TypeScript

Build safety nets, not guard rails

Avatar of @t3dotgg
Theo - creator of the T3 Stack @t3dotgg

Несмотря на то новичок вы или же опытный разработчик, мы считаем, что TypeScript - это маст-хэв. Поначалу он может выглядеть угнетающе, но, как и многие другие инструменты, многие разработчики не возвращаются назад после того как начали его использовать.

Он предоставляет обратную связь в режиме реального времени при написании кода, определяя ожидаемые типы данных, и предоставляет полезные подсказки в редакторе кода либо кричит красными волнистыми линиями, если вы пытаетесь получить доступ к свойству, которого не существует, или пытаетесь передать значение неправильного типа, которое в противном случае пришлось бы отлаживать дальше по линии.

Это инструмент, который, возможно, обеспечивает наибольшую производительность разработчикам; он предоставляет документацию для кода, который вы пишете или используете непосредственно в вашем редакторе и имеет мгновенную обратную связь, когда вы неизбежно делаете ошибки, что абсолютно бесценно.

Выведение типов (Type Inference)

Пока многие новые разработчики на TypeScript обеспокоены написанием TypeScript, многие из его преимуществ на самом деле не требуют от вас изменения вашего кода вообще, в частности вывод типов. Вывод типов означает, что если что-то типизировано, этот тип будет следовать за ним в течение потока приложения без необходимости повторного объявления в других местах. Это означает, что, например, после того, как вы определили типы аргументов, которые принимает функция, остальная часть функции обычно будет безопасной в отношении типов без необходимости ввода какого-либо дополнительного кода, специфичного для TypeScript. Разработчики библиотек тратят огромное количество времени на поддержание типов для своих библиотек, что означает, что мы, как разработчики приложений, можем получить выгоду от вывода типов и встроенной документации в вашем редакторе кода, которые эти типы предоставляют.

Посмотрите видео Theo о том, что вы, возможно, используете TypeScript неправильно.

Мощные применения вывода типов

Zod

Zod - это библиотека проверки схем, построенная поверх TypeScript. Напишите схему, которая представляет собой единственный источник истины для ваших данных, и Zod гарантирует, что ваши данные будут действительными во всем приложении, даже вне границ сети и внешних API.

Tanstack Query

Tanstack Query предоставляет вам декларативные, всегда актуальные автоматически управляемые запросы и мутации, которые напрямую улучшают как Developer, так и User Experience.

Полезные ресурсы

РесурсСсылка
Руководство по TypeScripthttps://www.typescriptlang.org/docs/handbook/
Гайд по TypeScript для новичковhttps://github.com/total-typescript/beginners-typescript-tutorial
Type Challengeshttps://github.com/type-challenges/type-challenges
Канал Родни Маллена из мира TypeScript (Matt Pocock) на YouTubehttps://www.youtube.com/c/MattPocockUk/videos