我刚学习Typescript并且我遇到了一个奇怪的行为,我试图声明两个变量null
和另一个undefined
,因为它是Typescript 2.0中引入的新功能。
let myNullVar :null;
let myNullVar2 : undefined;
console.log(typeof myNullVar);
console.log(typeof myNullVar2);
我期待看到这个输出:
null
undefined
但它是:
undefined
undefined
更多,当我这样做时:
if(typeof myNullVar === 'null'){
console.log('null');
}
else if (typeof myNullVar === 'undefined'){
console.log('undefined');
}
我得到undefined
在Typescript中,null与undefined相同吗?如果是的话,两者的目的是什么?
答案 0 :(得分:3)
键入注释不会影响运行时行为,typeof
是运行时构造。
未初始化变量的值为undefined
,typeof undefined
始终为"undefined"
。请注意,这是字符串,与值undefined
本身不同。
由于它即将出现,typeof null
为"object"
。