Advanced TypeScript Destructuring Spread Operator Tuple Type Interface + Extends + Array + Generics + Union = Tuple Union Type String Literal Type and Type Aliases Polymorphic This Type Guards Symbols As Const Readonly Optional Chaining Nullish Coalescing Exhaustive Switch Pick