Item 6: Use Your Editor to Interrogate and Explore the Type SystemItem 7: Think of Types as Sets of ValuesItem 8: Know How to Tell Whether a Symbol Is in the
Type Space or
Value SpaceItem 9: Prefer Type Annotations to Type AssertionsItem 10: Avoid Object Wrapper Types (String, Number, Boolean, Symbol, BigInt)Item 11: Distinguish Excess Property Checking from
Type CheckingItem 12: Apply Types to Entire Function Expressions
When PossibleItem 13: Know the Differences Between
type and interfaceItem 14: Use readonly to Avoid Errors Associated
with MutationItem 15: Use Type Operations and Generic Types to Avoid Repeating YourselfItem 16: Prefer More Precise Alternatives to
Index SignaturesItem 17: Avoid Numeric Index Signatures