【发布时间】:2017-02-08 08:37:23
【问题描述】:
来自 TypeScript 规范:
Null 类型是所有类型的子类型,Undefined 类型除外。未定义类型是所有类型的子类型。
据此,我相信,我们可以得出结论,undefined 是 null 的子类型,例如,number 的子类型。我们不能将超类型分配给子类型,例如,number 不能分配给undefined。为什么null,虽然是undefined 的超类型,但可以分配给undefined?
let x: undefined;
x = 5; // Error
let y: undefined;
y = null; // OK
【问题讨论】:
标签: typescript