Typescript 2.0 typeof null变量未定义

时间:2018-04-20 17:57:59

标签: typescript null undefined

我刚学习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相同吗?如果是的话,两者的目的是什么?

1 个答案:

答案 0 :(得分:3)

键入注释不会影响运行时行为,typeof是运行时构造。

未初始化变量的值为undefinedtypeof undefined始终为"undefined"。请注意,这是字符串,与值undefined本身不同。

由于它即将出现,typeof null"object"