🎉 Congratulations on reaching a fantastic first milestone in 100 days of code challenge, will move towards typescript! 🚀
Static Typing: TypeScript allows you to define types for variables, function parameters, and return values. This catches type-related bugs during development rather than runtime, leading to more reliable code.
Enhanced Readability: TypeScript's type annotations make your code more self-documenting, improving the overall readability of your codebase.
Code Intelligence: IDEs can provide better auto-completion, suggestions, and error checking thanks to TypeScript's type information.
Refactoring Made Easy: Renaming variables or changing function signatures becomes less error-prone, as TypeScript helps you catch potential issues across your codebase.
Ecosystem and Community: TypeScript enjoys strong community support, and many popular libraries are written in or provide TypeScript typings.
TypeScript introduces several primitive types (number, string, boolean, etc.) as well as more advanced types (interfaces, enums, unions, etc.) that allow you to precisely define the structure of your data.
Interfaces and type aliases enable you to define complex data structures, ensuring consistency and clarity in your code.
Generics allow you to write reusable, type-safe functions and classes that can work with different types.
Decorators provide a way to add metadata and behavior to classes and class members, facilitating aspects like logging, validation, and more.
TypeScript offers advanced type features like mapped types, conditional types, and type inference, empowering you to write expressive and concise type definitions.
Starting playing here: https://www.typescriptlang.org/play