36 items
Truthiness Narrowing
FlashcardEquality Narrowing
FlashcardUser-Defined Type Guards (is)
FlashcardAssertion Functions (asserts)
FlashcardControl Flow Analysis Narrowing
Flashcardinstanceof Type Guards
FlashcardDiscriminated Unions
FlashcardNarrowing the unknown Type
FlashcardExhaustiveness Checking with never
FlashcardNarrowing Out null and undefined
FlashcardType Assertions vs Type Guards
FlashcardArray.isArray Narrowing
Flashcardtypeof Type Guards
FlashcardNon-Null Assertion Operator (!)
Flashcardin Operator Narrowing
FlashcardFilter Callback Missing Type Predicate
Code QuizHelper Function Loses Narrowing
Code QuizUsing unknown Without Narrowing
Code QuizWrong Null Check Misses Undefined
Code QuizEquality Narrowing Dead Branch
Code QuizTruthiness Narrowing Drops Zero
Code QuizOptional Chaining Yields Possibly Undefined
Code Quiztypeof Cannot Detect Arrays
Code QuizReassignment Resets Narrowing
Code QuizNon-null Assertion Hides Real Bug
Code QuizNarrowing via Assignment
QuizNarrowing Loss in Closures
Quiztypeof Guards for Primitives
Quiznever in Exhaustiveness Checking
QuizNon-null Assertion Operator
QuizEquality Narrowing
QuizNarrowing Literal and Union Types
QuizType Predicate Return Effect
QuizControl Flow Analysis Basics
QuizTruthiness Narrowing
QuizArray.isArray as Type Guard
QuizWrong Null Check Misses Undefined
A check against null fails to narrow out undefined.
function shout(name: string | undefined) {
if (name !== null) {
console.log(name.toUpperCase());
}
}
shout(undefined); // runtime crashWhat is the bug in this code?