在Javascript中,如果将变量foo
设置为null,则typeof(foo)
将为object
。
在打字稿中,即使foo
被声明为number
,但如果foo=null
,则typeof(foo)
将是object
而不是{{1 }}。
在Typescript / Javascript中,是否有任何方法可以确定变量是否为number
类型,而不管其可能被临时设置为number
的事实吗?
答案 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');
}