null 和 undfind 是两个原始数据类型
let u:undefined = undefined;
let n: null = null;
null 和 undfined 跟void的区别是, undefined和null是所有类型的子类型,undefined甚至是void的子类型,null只有在特定情况才是void的子类型,这样就意味着你能编写出一下符合规范的代码,可以参考这篇文章
let a:number = 4;
a = undefined;
let b: undefined;
let c: number = b;