Table of Contents
- The Concise TypeScript Book
- Translations
- Downloads and website
- Table of Contents
- Introduction
- About the Author
- TypeScript Introduction
- Getting Started With TypeScript
- Exploring the Type System
- The TypeScript Language Service
- Structural Typing
- TypeScript Fundamental Comparison Rules
- Types as Sets
- Assign a type: Type Declarations and Type Assertions
- Property Checking and Excess Property Checking
- Weak Types
- Strict Object Literal Checking (Freshness)
- Type Inference
- More Advanced Inferences
- Type Widening
- Const
- Explicit Type Annotation
- Type Narrowing
- Primitive Types
- Type Annotations
- Optional Properties
- Readonly Properties
- Index Signatures
- Extending Types
- Literal Types
- Literal Inference
- strictNullChecks
- Enums
- Narrowing
- Assignments
- Control Flow Analysis
- Type Predicates
- Discriminated Unions
- The never Type
- Exhaustiveness checking
- Object Types
- Tuple Type (Anonymous)
- Named Tuple Type (Labeled)
- Fixed Length Tuple
- Union Type
- Intersection Types
- Type Indexing
- Type from Value
- Type from Func Return
- Type from Module
- Mapped Types
- Mapped Type Modifiers
- Conditional Types
- Distributive Conditional Types
- infer Type Inference in Conditional Types
- Predefined Conditional Types
- Template Union Types
- Any type
- Unknown type
- Void type
- Never type
- Interface and Type
- Built-in Type Primitives
- Common Built-in JS Objects
- Overloads
- Merging and Extension
- Differences between Type and Interface
- Class
- Generics
- Erased Structural Types
- Namespacing
- Symbols
- Triple-Slash Directives
- Type Manipulation
- Creating Types from Types
- Indexed Access Types
- Utility Types
- Awaited<T>
- Partial<T>
- Required<T>
- Readonly<T>
- Record<K, T>
- Pick<T, K>
- Omit<T, K>
- Exclude<T, U>
- Extract<T, U>
- NonNullable<T>
- Parameters<T>
- ConstructorParameters<T>
- ReturnType<T>
- InstanceType<T>
- ThisParameterType<T>
- OmitThisParameter<T>
- ThisType<T>
- Uppercase<T>
- Lowercase<T>
- Capitalize<T>
- Uncapitalize<T>
- NoInfer<T>
- Others
- Errors and Exception Handling
- Mixin classes
- Asynchronous Language Features
- Iterators and Generators
- TsDocs JSDoc Reference
- @types
- JSX
- ES6 Modules
- ES7 Exponentiation Operator
- The for-await-of Statement
- New target meta-property
- Dynamic Import Expressions
- “tsc –watch”
- Non-null Assertion Operator
- Defaulted declarations
- Optional Chaining
- Nullish coalescing operator
- Template Literal Types
- Function overloading
- Recursive Types
- Recursive Conditional Types
- ECMAScript Module Support in Node
- Assertion Functions
- Variadic Tuple Types
- Boxed types
- Covariance and Contravariance in TypeScript
- Template String Pattern Index Signatures
- The satisfies Operator
- Type-Only Imports and Export
- using declaration and Explicit Resource Management
- Import Attributes