如果启用了TypeScript的严格空值检查,我希望编译器阻止我将null或undefined值分配给一个变量,除非它接受null。 然而,数组访问似乎允许绕过这个检查。 例如:let a: string[] = ["Hello"]; let s: string; // 1) this ...
给定以下简单类: class Observer { private subscribers: Map<string, Array<((data: any) => void)>> = new Map(); public ...
代码胜过语言,因此:['a', 'b', 'c'].reduce((accumulator, value) => accumulator.concat(value), []); 这段代码非常愚蠢,它只是返回一个复制的数组... TypeScript 抱怨 concat 函数的参数:TS...
考虑以下使用strictNullChecks的代码:var a: (number | null)[] = [0, 1, 2, 3, null, 4, 5, 6]; var b: { value: number; }[] = a.map(x => x != null && ...