如何确定设置为null的变量的类型?

时间:2019-03-18 05:22:47

标签: javascript typescript

在Javascript中,如果将变量foo设置为null,则typeof(foo)将为object

在打字稿中,即使foo被声明为number,但如果foo=null,则typeof(foo)将是object而不是{{1 }}。

在Typescript / Javascript中,是否有任何方法可以确定变量是否为number类型,而不管其可能被临时设置为number的事实吗?

3 个答案:

答案 0 :(得分:1)

在运行时,您将无法确定当前为空的变量最终是否为数字。 JS是一种动态类型语言。在运行时中,变量可以随时为任何类型。使用Typescript,您至少可以在编译时告诉变量类型应该是什么。

您可以尝试使用parseInt或parseFloat作为替代方法:

parseFloat(null)
// NaN

parseFloat(3)
// 3

答案 1 :(得分:1)

var foo = null;
if(foo === null) {
    console.log('This is null var');
}

答案 2 :(得分:0)

基本上,null的值在技术上是primitive(most basic data types of javascript),即“对象”或“数字”是基元的方式。

var foo = null;
if ( foo == null ){
  console.log('null');
}