Free ebook on TypeScript static typing for JavaScript, covering types, tsconfig, modules, frameworks, tooling, and migration.
Free ebook + audiobook content
-
Introduction to TypeScript
+ Exercise: What is one of the main benefits of using TypeScript in web development? 8 minutes -
The Benefits of Static Typing
+ Exercise: What is one of the primary advantages of static typing mentioned in the text? 5 minutes -
Setting Up Your TypeScript Environment
+ Exercise: What is the first step in setting up your TypeScript environment according to the text? 7 minutes -
TypeScript vs JavaScript
+ Exercise: What is one of the main advantages of using TypeScript over JavaScript in web development? 6 minutes -
Basic Types in TypeScript
+ Exercise: What is the primary benefit of using static types in TypeScript as mentioned in the text? 7 minutes -
Working with Type Annotations
+ Exercise: What is one of the foundational features of TypeScript that helps developers catch errors early and write more robust code? 8 minutes -
Understanding Interfaces
+ Exercise: What is a key benefit of using interfaces in TypeScript? 8 minutes -
Advanced Interface Features
+ Exercise: What is one of the advanced features of TypeScript interfaces that allows you to build upon existing interfaces by adding new properties or refining existing ones? 7 minutes -
Type Aliases
6 minutes -
Union and Intersection Types
+ Exercise: What is the primary purpose of Union and Intersection Types in TypeScript? 7 minutes -
Literal Types
+ Exercise: What is the primary benefit of using literal types in TypeScript? 8 minutes -
Enums in TypeScript
+ Exercise: What is one of the unique features of numeric enums in TypeScript that is not possible with string enums? 7 minutes
-
Classes and Inheritance in TypeScript
+ Exercise: What is the role of TypeScript's access modifiers in class design? 8 minutes -
Understanding Access Modifiers
+ Exercise: What is the default access level for class members in TypeScript if no access modifier is specified? 7 minutes -
Static Properties and Methods
+ Exercise: What is a key limitation of static methods in TypeScript? 7 minutes -
Understanding Abstract Classes
+ Exercise: What is one of the primary purposes of using abstract classes in TypeScript? 7 minutes -
Functional Programming with TypeScript
+ Exercise: What is one of the core principles of functional programming mentioned in the text? 5 minutes -
Generics in TypeScript
+ Exercise: What is the primary benefit of using generics in TypeScript as mentioned in the text? 9 minutes -
Generic Constraints
+ Exercise: What is the primary purpose of using generic constraints in TypeScript? 8 minutes -
Type Inference
+ Exercise: What is one of the standout features of TypeScript that enhances code readability and maintainability? 6 minutes -
Type Assertions
+ Exercise: What is the main purpose of using type assertions in TypeScript? 6 minutes -
Optional and Default Parameters
+ Exercise: What is the purpose of using optional and default parameters in TypeScript functions? 7 minutes -
Function Overloads
+ Exercise: What is the primary purpose of function overloading in TypeScript? 6 minutes
-
Modules and Namespaces
+ Exercise: What is the main purpose of using modules in TypeScript? 7 minutes -
Modules and Namespaces: Understanding the Module System
+ Exercise: What is the primary reason for using modules in TypeScript? 7 minutes -
Modules and Namespaces: Namespace vs Modules
+ Exercise: What is a key difference between namespaces and modules in TypeScript? 6 minutes -
Modules and Namespaces: Creating and Using Namespaces
+ Exercise: What is a key difference between modules and namespaces in TypeScript? 7 minutes -
Modules and Namespaces: Best Practices for Organizing Code with Modules
+ Exercise: What is one of the core principles of using modules effectively in TypeScript according to the text? 6 minutes -
Modules and Namespaces: Resolving Module Dependencies
+ Exercise: What is the preferred method for organizing code in modern TypeScript projects, and why? 6 minutes -
Modules and Namespaces: Dynamic Module Loading
+ Exercise: What is the recommended method for dynamic module loading in TypeScript for modern applications? 7 minutes -
Modules and Namespaces: Scoped Packages and Module Resolution
+ Exercise: What is the primary reason modules are preferred over namespaces in modern TypeScript development? 7 minutes -
Modules and Namespaces: Handling Circular Dependencies in Modules
+ Exercise: What is one strategy mentioned in the text for handling circular dependencies in TypeScript? 7 minutes -
Modules and Namespaces: Module Augmentation Techniques
+ Exercise: What is the primary purpose of module augmentation in TypeScript? 8 minutes -
Modules and Namespaces: Namespaces in Legacy Code
+ Exercise: Which of the following statements about TypeScript namespaces is true? 8 minutes -
Modules and Namespaces: Integrating Third-Party Modules
+ Exercise: What is the preferred module resolution strategy in TypeScript for most projects, especially when aligned with Node.js module resolution? 6 minutes -
Modules and Namespaces: Module Bundling Strategies
+ Exercise: What is one of the primary reasons for using modules in TypeScript? 6 minutes -
Modules and Namespaces: Modules in Different Environments
+ Exercise: What is one of the key features of TypeScript that enhances code organization and structure, especially in large-scale applications? 6 minutes -
Modules and Namespaces: TypeScript Module Patterns
+ Exercise: What is the recommended way to structure code in modern TypeScript applications, according to the text? 8 minutes -
Modules and Namespaces: Performance Considerations in Module Design
+ Exercise: What is a primary performance advantage of using modules over namespaces in TypeScript? 5 minutes -
Importing and Exporting Modules
+ Exercise: What is the primary advantage of using modules in TypeScript as mentioned in the text? 6 minutes -
Advanced Module Configurations
+ Exercise: What is the recommended module resolution strategy for most TypeScript projects, especially those involving Node.js or npm packages? 7 minutes
-
Introduction to TypeScript Compiler
+ Exercise: What is the primary role of the TypeScript compiler in the TypeScript ecosystem? 7 minutes -
Configuring tsconfig
+ Exercise: What is the purpose of the `tsconfig.json` file in a TypeScript project? 9 minutes -
Configuring tsconfig: Understanding the tsconfig File
+ Exercise: What is the primary function of the `tsconfig.json` file in a TypeScript project? 8 minutes -
Configuring tsconfig: Key Compiler Options
+ Exercise: What is the purpose of the `tsconfig.json` file in a TypeScript project? 7 minutes -
Configuring tsconfig: Configuring Target and Module Options
+ Exercise: What does the "target" option in the tsconfig.json file specify when working with TypeScript? 6 minutes -
Configuring tsconfig: Source Map and Inline Source Map Options
+ Exercise: What is the main advantage of enabling source maps in a TypeScript project? 6 minutes -
Configuring tsconfig: Strict Type-Checking Options
+ Exercise: Which TypeScript configuration option ensures that all TypeScript files are parsed in ECMAScript's strict mode, automatically adding "use strict" to the top of every file? 7 minutes -
Configuring tsconfig: Module Resolution Strategies
+ Exercise: What is the primary difference between the Classic and Node module resolution strategies in TypeScript? 7 minutes -
Configuring tsconfig: Paths and BaseUrl Configuration
+ Exercise: What is the primary purpose of configuring the `baseUrl` option in a TypeScript project's `tsconfig.json` file? 6 minutes -
Configuring tsconfig: Include and Exclude Options
+ Exercise: What is the purpose of the "include" and "exclude" options in the tsconfig.json file when working with TypeScript? 7 minutes -
Configuring tsconfig: Configuring RootDir and OutDir
+ Exercise: What is the purpose of configuring the "outDir" option in the tsconfig.json file when working with TypeScript? 7 minutes -
Configuring tsconfig: Composite Projects and Project References
6 minutes -
Configuring tsconfig: Incremental Compilation
+ Exercise: What is the primary benefit of enabling incremental compilation in TypeScript? 6 minutes -
Configuring tsconfig: Configuring Watch Options
+ Exercise: What is the lesser-known but highly beneficial aspect of the `tsconfig.json` file in TypeScript? 7 minutes -
Configuring tsconfig: Using Extends for Shared Configurations
+ Exercise: What is the purpose of the `extends` feature in TypeScript's `tsconfig.json` file? 8 minutes -
Configuring tsconfig: Customizing TypeScript Build with Plugins
+ Exercise: What is the purpose of adding a "plugins" array within the "compilerOptions" section of a tsconfig.json file in a TypeScript project? 6 minutes -
Configuring tsconfig: Troubleshooting Common tsconfig Issues
+ Exercise: What is the primary purpose of the `tsconfig.json` file in a TypeScript project? 7 minutes -
Compiling TypeScript Code
+ Exercise: What is the primary purpose of compiling TypeScript code? 7 minutes -
Debugging TypeScript
+ Exercise: What is the primary benefit of using TypeScript in software development mentioned in the text? 6 minutes
-
TypeScript with Babel
+ Exercise: What is a key advantage of using TypeScript with Babel according to the text? 6 minutes -
Code Quality Tools for TypeScript
+ Exercise: Which tool is primarily used for static type checking and compiling TypeScript code into JavaScript? 6 minutes -
Linting TypeScript with ESLint
+ Exercise: Which tool is commonly used for linting TypeScript to ensure code quality and consistency? 7 minutes -
Testing TypeScript Applications
+ Exercise: What is one of the main benefits of using TypeScript in testing software applications? 10 minutes -
Using TypeScript with React
+ Exercise: What is one of the primary benefits of using TypeScript with React, as mentioned in the text? 8 minutes -
Using TypeScript with Angular
10 minutes -
Using TypeScript with Vue
+ Exercise: What is one of the main benefits of using TypeScript with Vue.js as mentioned in the text? 10 minutes -
TypeScript for Node.js Development
7 minutes -
TypeScript and Database Integration
+ Exercise: What is one of the primary benefits of using TypeScript when integrating with a database? 8 minutes -
Error Handling in TypeScript
+ Exercise: What is a fundamental mechanism for handling runtime errors in TypeScript? 7 minutes -
Decorators in TypeScript
+ Exercise: What is the primary purpose of decorators in TypeScript? 9 minutes -
Exploring TypeScript Utility Types
+ Exercise: What is the primary purpose of utility types in TypeScript? 10 minutes -
Understanding Type Guards
+ Exercise: What is the purpose of type guards in TypeScript? 7 minutes -
Mapped Types in TypeScript
+ Exercise: What is a common use case for mapped types in TypeScript? 8 minutes -
Iterators and Generators
+ Exercise: What is the primary advantage of using TypeScript when working with iterators and generators? 7 minutes -
Promise and Async/Await in TypeScript
+ Exercise: What are the two main constructs for managing asynchronous operations in TypeScript mentioned in the text? 9 minutes -
Defining Callable Types
+ Exercise: What is a key benefit of using callable types in TypeScript as described in the text? 7 minutes -
Concepts of Type Compatibility
+ Exercise: What is the basis of type compatibility in TypeScript? 10 minutes -
Structural Subtyping
+ Exercise: What is the primary mechanism used in TypeScript to determine if an object can be used in a context that expects a certain type? 7 minutes
-
Upgrading from JavaScript to TypeScript
+ Exercise: What is a primary advantage of transitioning from JavaScript to TypeScript according to the text? 7 minutes -
Assessing Project Readiness for TypeScript
+ Exercise: What are some of the key benefits of upgrading a project from JavaScript to TypeScript? 8 minutes -
Identifying JavaScript Codebase Challenges
+ Exercise: What is one of the primary challenges when upgrading a JavaScript codebase to TypeScript? 5 minutes -
Planning the Migration Strategy
+ Exercise: What is one of the primary benefits of transitioning from JavaScript to TypeScript according to the text? 7 minutes -
Gradual vs Big-Bang Migration
+ Exercise: What is a primary advantage of the gradual migration approach from JavaScript to TypeScript? 5 minutes -
Refactoring JavaScript Code for TypeScript Compatibility
+ Exercise: What is one of the key benefits of upgrading from JavaScript to TypeScript mentioned in the text? 6 minutes -
Handling JavaScript Libraries and Dependencies
+ Exercise: What is one of the primary tasks when upgrading from JavaScript to TypeScript? 7 minutes -
Creating TypeScript Declaration Files for JavaScript Libraries
+ Exercise: What is one of the key benefits of upgrading from JavaScript to TypeScript mentioned in the text? 7 minutes -
Dealing with Dynamic Typing in Legacy Code
+ Exercise: What is one of the first steps in upgrading a legacy JavaScript codebase to TypeScript? 6 minutes -
Automating TypeScript Code Conversion
+ Exercise: What is one of the primary benefits of transitioning from JavaScript to TypeScript according to the text? 6 minutes -
Testing and Validation Post-Migration
+ Exercise: What are some of the benefits of upgrading from JavaScript to TypeScript according to the text? 7 minutes -
Training and Onboarding Development Teams
+ Exercise: What is one of the first steps in transitioning from JavaScript to TypeScript according to the text? 4 minutes -
Leveraging TypeScript Features for Legacy Code Improvements
+ Exercise: What is one of the primary features of TypeScript that aids in upgrading legacy JavaScript code? 7 minutes -
Managing TypeScript Configuration During Migration
+ Exercise: What is the primary purpose of the `tsconfig.json` file when migrating from JavaScript to TypeScript? 7 minutes -
Version Control Strategies for Migration
+ Exercise: What is one of the critical aspects to manage effectively during the migration from JavaScript to TypeScript to ensure a smooth transition? 6 minutes -
Documenting the Migration Process
+ Exercise: What is one of the primary benefits of upgrading from JavaScript to TypeScript as discussed in the text? 6 minutes
-
TypeScript IDE Support
+ Exercise: Which feature of TypeScript in IDEs significantly speeds up the coding process by suggesting possible completions for partially typed code? 6 minutes -
Benefits of Writing TypeScript Declarations
+ Exercise: What is one of the most profound advantages of using TypeScript according to the text? 6 minutes -
Community and Ecosystem
+ Exercise: What is one of the key strengths of the TypeScript community mentioned in the text? 7 minutes -
Deploying TypeScript Applications
+ Exercise: What is the role of the TypeScript compiler (tsc) in the deployment process of TypeScript applications? 7 minutes -
TypeScript Project Structure Best Practices
+ Exercise: What is the purpose of establishing a well-organized project structure when starting a TypeScript project? 7 minutes -
Version Control with TypeScript
+ Exercise: What are some key benefits of using version control systems with TypeScript projects? 7 minutes -
Integrating TypeScript into Legacy Codebases
+ Exercise: What is one of the key benefits of integrating TypeScript into a legacy JavaScript codebase according to the text? 7 minutes -
TypeScript and Webpack
+ Exercise: What is one of the primary benefits of using TypeScript in conjunction with Webpack for web application development? 7 minutes -
Understanding TypeScript 4.x Features
+ Exercise: What is one of the standout features introduced in TypeScript 4.x? 6 minutes -
Future of TypeScript
+ Exercise: What is one of the primary factors contributing to the promising future of TypeScript? 6 minutes
About the free ebook with audio
Introduction to TypeScript: Static Typing for JavaScript
Build stronger JavaScript applications with this free ebook on TypeScript, the language that adds optional static typing and modern tooling to familiar JavaScript workflows.
Write safer, more maintainable code
Learn how types, annotations, interfaces, aliases, unions, enums, classes, and generics help catch mistakes before code reaches production. The ebook explains type inference, assertions, overloads, access modifiers, utility types, type guards, mapped types, asynchronous programming, and structural type compatibility.
Configure and organize TypeScript projects
Explore the TypeScript compiler and practical tsconfig configuration, including strict checking, module resolution, path aliases, source maps, incremental builds, project references, watch options, and shared configurations. Understand modules, namespaces, imports, exports, dynamic loading, bundling, dependency resolution, and module design across browser and Node.js environments.
Use TypeScript in real development workflows
See how TypeScript fits into React, Angular, Vue, Node.js, databases, Babel, ESLint, testing tools, Webpack, debugging, deployment, and version control. Practical guidance also covers project structure, IDE support, declarations, decorators, error handling, and code-quality practices.
Migrate JavaScript projects with confidence
Follow a structured approach to moving existing JavaScript codebases to TypeScript. Topics include assessing readiness, planning gradual migration, handling dynamic legacy code and third-party libraries, creating declaration files, automating conversion, validating results, and documenting the process for development teams.
What you will gain
- A clear foundation in TypeScript’s static type system.
- Practical compiler and project-configuration knowledge.
- Strategies for modern frameworks, backend development, and legacy migrations.
This ebook is designed for JavaScript developers who want to use TypeScript to improve reliability, clarity, and scalability in web applications.
What TypeScript features help prevent JavaScript runtime errors?
Type annotations, interfaces, unions, type guards, generics, and strict compiler options expose many issues during development.
How do I configure strict type checking in tsconfig.json?
Enable strict mode and review related options such as noImplicitAny, strictNullChecks, and strictFunctionTypes.
Can an existing JavaScript project be migrated to TypeScript gradually?
Yes. TypeScript supports incremental adoption, allowing JavaScript and TypeScript files to coexist during migration.
This ebook/audiobook includes:
13 hours and 2 minutes of audio content
Digital certificate of course completion (Free)
Exercises to train your knowledge
100% free, from content to certificate
Ready to get started?
In the app you will also find...
Over 5,000 free courses
Programming, English, Digital Marketing and much more! Learn whatever you want, for free.
Study plan with AI
Our app's Artificial Intelligence can create a study schedule for the course you choose.
From zero to professional success
Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.
You can also use the QR Code or the links below.
























