Open sbyeol3 opened 1 year ago
type MyPick<T, K extends keyof T> = { [SpecificKey in K]: T[SpecificKey] } type MyReadonly<T> = Readonly <T> type TupleToObject<T extends readonly PropertyKey[]> = { [TIndex in T[number]]: TIndex } type First<T extends any[]> = T extends [infer TFirst, …any] ? TFirst : never; type Length<T extends readonly any[]> = T['length'] type MyExclude<T, U> = T extends U ? never : T; type MyAwaited<T extends Promise<any>> = T extends Promise<infer Inner> ? Inner extends Promise<any> ? MyAwaited<Inner> : Inner : never; type If<C extends boolean, T, F> = C extends true ? T : F type Concat<T extends any[], U extends any[]> = […T, …U] [오답] : type Includes<T extends readonly any[], U> = U extends T[number] ? true : false; type Push<T extends any[], U> = […T, U] type Unshift<T extends any[], U> = [U, …T] type MyParameters<T extends (… args: any[]) => any> = T extends (…args: infer F) => any ? F : never
Includes 공부해오기