TypeScript 具有两种特殊的类型,
null
和?developer/article/2334190/undefined
,它们分别具有值null
和?developer/article/2334190/undefined
默认情况下我们可以将null
和?developer/article/2334190/undefined
赋值给任意类型
let value1: null;
let value2: ?developer/article/2334190/undefined;
let value3: number;
value3 = value1;
value3 = value2;
默认情况下
null
和?developer/article/2334190/undefined
也可以相互赋值
let value1: null;
let value2: ?developer/article/2334190/undefined;
value1 = value2;
value2 = value1;
在企业开发中, 如果不想把
null
和?developer/article/2334190/undefined
赋值给其它的类型 或者不想让null
和?developer/article/2334190/undefined
相互赋值, 那么我们就可以修改tsconfig.json
开启strictNullChecks
开启了之后再次赋值效果如下:
如果开启了
strictNullChecks
, 还想把null
和?developer/article/2334190/undefined
赋值给其它的类型 那么就必须在声明的时候使用联合类型
let value: (number | null | ?developer/article/2334190/undefined);
value = null;
value = ?developer/article/2334190/undefined;
console.log(value);
对于
可选属性
和可选参数
而言, 如果开启了strictNullChecks
, 那么默认情况下数据类型就是联合类型
就是当前的类型 +?developer/article/2334190/undefined
类型
class Person {
name?: string
}
function say(age?: number) {
}
let person = new Person();
person.name = null;
person.name = ?developer/article/2334190/undefined;
say(?developer/article/2334190/undefined);
say(null);
本期结束咱们下次再见?~
? 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ ?
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。