← 문제 목록
고급
TypeScript
100P
고급 타입 추론 실패
다음 TypeScript 코드에서 버그를 찾으세요:
TYPESCRIPT
type Flatten<T> = T extends Array<infer U> ? Flatten<U> : T;
type NestedArray = number[][][];
type Flattened = Flatten<NestedArray>; // number
declare function flatten<T>(arr: T[]): Flatten<T>[];
const nested = [[[1, 2], [3]], [[4]]];
const result = flatten(nested);
const sum: number = result.reduce((acc, val) => acc + val, 0);
type EventMap = {
click: { x: number; y: number };
keydown: { key: string };
};
function on<K extends keyof EventMap>(
event: K,
callback: (data: EventMap[K]) => void
): void {}
on("click", (data) => {
console.log(data.key);
});
0명 풀이 · 정답률 0%