为什么TypeScript只在将字符串赋给数字时显示错误,而在将null赋给数字时不显示错误?
export type ArrayWithNumberOrString = Array<number | string>; export type ArrayWithNumberOrNull = Array<number | null>; function doSomethingWithNumbersOnly(array: number[]): number[] { return array; }; const numbersAndString: ArrayWithNumberOrString = [1, 2, 3, 'string']; const numbersAndNull: ArrayWithNumberOrNull = [1, 2, 3, null]; doSomethingWithNumbersOnly(numbersAndString); doSomethingWithNumbersOnly(numbersAndNull);
Typescript sandbox
并立即找到了答案:
默认情况下,该选项 strictNullChecks 在tsconfig中禁用。json。
strictNullChecks