# TypeScript

* [Practice](https://github.com/Vlasakh/TS_practice) repo
* [! operator in typescript after object method](https://stackoverflow.com/questions/38874928/operator-in-typescript-after-object-method)
* `{}` which, in TypeScript, means “any non-null value”

## Types vs interfaces

* type aliases can act sort of like interfaces, however, there are 3 important differences ( union types, declaration merging)
* use whatever suites you and your team, just be consistent
* always use `interface` for public API's definition when authoring a library or 3rd party ambient type definitions
* consider using `type` for your React Component Props and State

## Links

* [main topics that can be asked on interviews for Typescript](https://chat.openai.com/c/036608c4-705c-43dd-9566-fc6b66550f77)
* [roadmap.sh/typescript](https://roadmap.sh/typescript)
* Challenge - <https://github.com/type-challenges/type-challenges>
* Articles
  * [Учимся писать сложные Typescript типы на примере роутинга в React](https://habr.com/ru/articles/735542/)
  * [Сокращение типизации с помощью Util Types в Typescript](https://habr.com/ru/articles/730906/)

\\
