打字稿:为什么number / string / ...可赋值为null?

时间:2018-04-11 11:05:00

标签: typescript

为什么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);

Items

1 个答案:

答案 0 :(得分:3)

立即找到答案:

默认情况下,tsconfig.json中禁用了选项strictNullChecks