- 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);
|
请发表评论