Как улучшить код на TypeScript: 5 рекомендаций



Книга Как улучшить код на TypeScript: 5 рекомендаций



TypeScript не только делает код надежным, но и имеет определенные издержки освоения. Неправильное использование этого языка чревато неожиданными багами.


Хотите писать код на TypeScript элегантно и профессионально? Тогда следуйте рекомендациям, основанным на лучших практиках!


1. Отдавайте предпочтение unknown, а не any


Когда переменной задается тип any, его проверка в компиляторе TypeScript пропускается, что аналогично добавлению @ts-ignore. Это опасно, потому что такая переменная выпадает из условий типов TypeScript. Делайте так, только если переносите проект из JavaScript в TypeScript.


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


Typescript (forked) — StackBlitz (example 1)


2. Не используйте объекты-обертки непримитивов


В JavaScript эти объекты имеют доступ к представленным в коде методам Object.prototype:


String | Number | Boolean | BigInt | Symbol;

Но даже в JavaScript они почти никогда не используются по назначению, а в TypeScript соответствующие типы есть, и их следует применять:


string | number | boolean | bigint | symbol;

Typescript (forked) — StackBlitz (example 2)


3. Где возможно, используйте константные перечисления


При обычных перечислениях во время выполнения генерируется дополнительный код, что увеличивает затраты на выполнение программы. А вот при перечислениях, объявляемых с помощью const, применяемые в коде значения перечисления встраиваются напрямую:


Typescript (forked) — StackBlitz (examlpe 3)


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


4. Оптимизируйте код на TypeScript


Применяйте новейший функционал JavaScript  —  опциональную цепочку (?.) и оператор нулевого слияния (??). В TypeScript они уже поддерживаются:


Typescript (forked) — StackBlitz (example 4)


5. Гибкое использование расширенных вспомогательных типов


Эти встроенные в TypeScript типы облегчают разработку. Комбинируйте их для выполнения преобразований почти всех основных типов:


Typescript (forked) — StackBlitz (example 5)



155   0  
    Ничего не найдено.

Добавить ответ:
Отменить.