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

标签 javascript typescript

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

在 Typescript 中,即使 foo 被声明为 number,如果 foo=null then typeof(foo ) 将是 object 而不是 number

在 Typescript/Javascript 中,是否有任何方法可以确定变量是否为 number 类型,无论它是否可能暂时设置为 null

最佳答案

在运行时,您将无法判断当前为 null 的变量最终是否会是数字。 JS 是一种动态类型语言。在运行时的任何时间,变量可以是任何类型。使用 Typescript,您至少可以在编译时知道变量类型应该是什么。

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

parseFloat(null)
// NaN

parseFloat(3)
// 3

关于javascript - 如何确定设置为 null 的变量的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55214960/

相关文章:

javascript - TypeScript 类继承 : 'super' Can Only Be Referenced in Members of Derived Classes or Object Literal Expressions

javascript - 模板文字类型等效

javascript - 宽度更改后的 Html 调整内容大小(Anuglar4),如 md-sidenav

其他框架中的 javascript document.getElementById

javascript - 这些原型(prototype)声明中哪个更好,为什么?

javascript - 当容器调整大小时使 float div 平滑地移动位置

javascript - 为什么设置视频元素 srcObject 在 Vue.js 应用程序中不起作用

TypeScript 推断数组 [index]

typescript - TypeScript 中的递归 Partial<T>

javascript - 滚动到时播放 HTML5 视频,然后播放至完成且仅播放一次