← 문제 목록
고급 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%