TypeScript-null和undefined
null 和 undefined
- TypeScript 具有两种特殊的类型,
null和undefined,它们分别具有值null和undefined- 默认情况下我们可以将
null和undefined赋值给任意类型
let value1: null;
let value2: undefined;
let value3: number;
value3 = value1;
value3 = value2;
- 默认情况下
null和undefined也可以相互赋值
let value1: null;
let value2: undefined;
value1 = value2;
value2 = value1;
注意点
- 在企业开发中, 如果不想把
null和undefined赋值给其它的类型- 或者不想让
null和undefined相互赋值, 那么我们就可以修改tsconfig.json开启strictNullChecks

开启了之后再次赋值效果如下:

- 如果开启了
strictNullChecks, 还想把null和undefined赋值给其它的类型- 那么就必须在声明的时候使用
联合类型
let value: (number | null | undefined);
value = null;
value = undefined;
console.log(value);
- 对于
可选属性和可选参数而言, 如果开启了strictNullChecks, 那么默认情况下数据类型就是联合类型- 就是当前的类型 +
undefined类型
class Person {
name?: string
}
function say(age?: number) {
}
let person = new Person();
person.name = null;
person.name = undefined;
say(undefined);
say(null);

浙公网安备 33010602011771号