Exercise-Typing-objects
Course Content
0 / 127 completedCourse-Setup
What-will-you-learn-in-this-course
Welcome
tsc
Why-TypeScript
Using-TypeScript-without-a-compiler
Who-is-the-course-for-and-prerequisites
Bun-Intro
Exercise-Primitive-Types
tsconfig-Intro
Course-workflow
Primitive-Types
Exercise-Type-arrays-and-Tuples
Answers-Primitive-Types
Answers-Type-arrays-and-Tuples
Type-arrays-and-Tuples
Exercise-Typing-objects
Typing-objects
Answers-Typing-objects
Exercise-Any
Any
Answers-Any
Unknown
Exercise-Unknown
Answers-Unknown
Never
Answers-Never
Exercise-Never
Exercise-Union-Types
Union-Types
Answers-Union-Types
Exercise-Discriminated-Unions
Answers-Discriminated-Unions
Intersections
Discriminated-Unions
Answers-Intersections
Exercise-Intersections
Exercise-Optional-Fields-on-objects
Answers-Optional-Fields-on-objects
Optional-Fields-on-objects
readonly-and-as
Exercise-readonly-and-as
Answers-readonly-and-as
Answers-Enums-and-Alternatives
Exercise-Enums-and-Alternatives
Enums-and-Alternatives
Type-only-features
Interface-only-features
Type-and-interface-interactions
Summary-Types-vs-interfaces
Record
Exercise-Record
Answers-Record
Structural-vs-Nominal-Types
Exercise-Structural-vs-Nominal-Types
Answers-Structural-vs-Nominal-Types
Exercise-Typing-Functions-Basics
Typing-Functions-Basics
Exercise-Optional-args
Answers-Typing-Functions-Basics
Optional-args
Answers-Optional-args
Exercise-Function-overloads
Function-overloads
Answers-Function-overloads
Answers-Rest-params
Exercise-Rest-params
Exercise-Declaring-this
Rest-params
Declaring-this
What s-a-module
Answers-Declaring-this
Exercise-Exporting-and-importing-types
Module-resolution-options
Exporting-and-importing-types
Answers-Exporting-and-importing-types
Type-only-imports
Exercise-Type-only-imports
Answers-Type-only-imports
Exercise-Ambient-types
Ambient-types
Answers-Ambient-types
Exercise-Namespaces
Answers-Namespaces
Namespaces
Globals
Exercise-Globals
Answers-Globals
Exercise-Typing-classes
Answers-Typing-classes
Typing-classes
field-initializers
Exercise-field-initializers
Answers-field-initializers
Strict-property-initializers
Exercise-Classes-vs-Types-and-interfaces
Readonly-fields
Classes-vs-Types-and-interfaces
Exercise-Readonly-fields
Answers-Classes-vs-Types-and-interfaces
Answers-Readonly-fields
Implements
Exercise-Implements
Exercise-Private-and-protected-fields
Answers-Implements
Answers-Private-and-protected-fields
Private-and-protected-fields
Getters-and-setters
Exercise-Getters-and-setters
Answers-Getters-and-setters
Exercise-Private-and-protected-alternatives-and-edge-cases
Exercise-Static-members
Private-and-protected-alternatives-and-edge-cases
Static-members
Answers-Private-and-protected-alternatives-and-edge-cases
Answers-Static-members
Abstract-classes-and-methods
Exercise-Abstract-classes-and-methods
Answers-Abstract-classes-and-methods
Introduction
Converting-to-TypeScript
Consuming-npm-packages-with-types
Consuming-types-from-definitely-typed
Consuming-JavaScript-without-types
tsconfig-settings
Features-to-avoid
Conclusion