TypeScript bank Narrowing & Guards TypeScript / 5 questions Your progress 0 / 5 done Saved in this browser. Reset All 5 Medium 3 Hard 2 Hide done No questions match those filters. 1 How does control-flow narrowing work with `typeof`, `instanceof`, and truthiness? Medium 2 What is a user-defined type guard (`x is Foo`), and when do you need one? Medium 3 What are assertion functions (`asserts x is Foo`), and how do they differ from type guards? Medium 4 Why does narrowing get lost after an `await` or a callback, and how do you preserve it? Hard 5 What is the `satisfies` operator, and how does it differ from a type annotation or `as`? Hard ← Previous Interfaces, Unions & Objects Next → Generics