113 items
Broken Mutable Mapped Type
Code QuizDistributive Conditional Types Over Unions
QuizAdvanced Types: Unions to Mapped Types
Slides / VideoConditional Types & Distribution
FlashcardNarrowing, Utility Types & Type Guards
Slides / VideoNarrowing, Utility Types & Type Guards
FlashcardUnion, Intersection & Utility Types
Slides / VideoUnion, Intersection & Utility Types
FlashcardHigher-Order Type Manipulation Basics
FlashcardThe satisfies Operator
FlashcardFunction Overloads
Flashcardtypeof Type Operator
FlashcardBranded/Nominal Types
FlashcardType Compatibility and Assignability
FlashcardType Widening and Narrowing
FlashcardVariance (Covariance/Contravariance)
FlashcardStructural Typing
Flashcardunique symbol Type
FlashcardRemapping Keys With as
Code QuizVariance: Covariance and Contravariance
Slides / VideoMapped Types
Slides / VideoThe infer Keyword Explained
Slides / VideoConditional Types
Slides / VideoIndexed Access Types
Slides / VideoThe keyof Type Operator
Slides / VideoThe typeof Type Operator
Slides / VideoUser-Defined Type Guards
Slides / VideoType Guards and Narrowing
Slides / VideoDiscriminated Unions
Slides / VideoType Aliases in TypeScript
Slides / VideoLiteral Types in TypeScript
Slides / VideoIntersection Types in TypeScript
Slides / VideoUnion Types in TypeScript
Slides / VideoBranded Types via Intersection
Slides / Videoconst Assertions in TypeScript
Slides / VideoAssertion Functions
Slides / VideoThe unknown Type and Safe Narrowing
Slides / VideoThe never Type in Advanced Contexts
Slides / VideoDistributive Conditional Types
Slides / VideoRecursive Types in TypeScript
Slides / VideoAdvanced Utility Types
Slides / VideoTypeScript Utility Types Essentials
Slides / VideoTemplate Literal Types
Slides / VideoKey Remapping with as Clause
Slides / VideoConditional Type Syntax
Code QuizMapped Type Iteration
Code QuizIntrinsic String Manipulation Type
Code QuizRemoving Optional Modifier
Code QuizExtracting Array Element Type
Code QuizDistributive Conditional Over Union
Code QuizBuilding Template Literal Types
Code QuizVariadic Tuple Missing a Spread
Code QuizRecursive Type That Never Terminates
Code Quizsatisfies With the Wrong Constraint
Code QuizMisplaced this Parameter
Code QuizMixing Named and Unnamed Tuple Elements
Code QuizOverload Order Shadows the Specific Case
Code QuizIntersecting Conflicting Property Types
Code QuizUnexpected Distribution Over a Union
Code QuizUtility Type: Pick
Code QuizUtility Type: Partial
Code Quiztypeof Type Operator
Code QuizIndexed Access Types
Code QuizUtility Type: Readonly
Code QuizLookup with Union Keys
Code QuizUtility Type: Required
Code QuizUtility Type: Omit
Code QuizAssertion Function Uses Wrong Signature
Code Quiztypeof String With Wrong Casing
Code QuizExhaustiveness Check Misses a Case
Code QuizType Guard Missing the Predicate
Code QuizReversed in Operator Branches
Code QuizMissing const Assertion Widens Literal
Code QuizSwapped instanceof Branches
Code QuizWrong Property in Union Branch
Code QuizNonNullable Takes One Argument
Code QuizExclude Argument Order
Code QuizParameters Needs typeof
Code QuizInstanceType Needs the Constructor
Code QuizReturnType Needs typeof
Code QuizExtract vs Exclude
Code QuizAwaited Unwraps the Promise
Code QuizRecord Needs Two Type Arguments
Code QuizDiscriminated Unions
QuizBranded / Nominal Types
QuizThe in Operator Narrowing
QuizNonNullable, Awaited, InstanceType
QuizUtility Type: Readonly
QuizReturnType and Parameters
QuizDistributive Conditional Types
QuizIndexed Access Types
QuizUtility Type: Record
QuizVariadic Tuple Types
QuizThe keyof Operator
QuizUtility Type: Partial
QuizTemplate Literal Types
QuizUser-Defined Type Guards
QuizIntrinsic String Types
QuizThe infer Keyword
QuizMapping Modifiers
QuizThe satisfies Operator
QuizThe typeof Type Operator
QuizExclude and Extract
QuizKey Remapping with as
QuizRecursive Types
QuizConditional Types Basics
QuizAssertion Functions
QuizUtility Type: Required
QuizMapped Types Basics
QuizFunction Overloads Resolution
QuizUtility Type: Pick
QuizUtility Type: Omit
Quizconst Assertions
QuizUtility Type: Pick
Pick takes exactly two type arguments: the source type and a union of keys.
interface User {
id: number;
name: string;
email: string;
}
type UserPreview = Pick<User, "id", "name">;
const p: UserPreview = { id: 1, name: "Ada" };What is the bug in this code?