javascript - 获取 Javascript 变量类型的更好方法?

标签 javascript types typeof

有没有比typeof更好的方法来获取JS中变量的类型?这样做时效果很好:

> typeof 1
"number"
> typeof "hello"
"string"

但是尝试了也没用:

> typeof [1,2]
"object"
>r = new RegExp(/./)
/./
> typeof r
"function"

我知道instanceof,但这需要你事先知道类型。

> [1,2] instanceof Array
true
> r instanceof RegExp
true

有没有更好的办法?

最佳答案

Angus Croll 最近写了一篇关于此的有趣博客文章 -

http://javascriptweblog.wordpress.com/2011/08/08/fixing-the-javascript-typeof-operator/

他分析了各种方法的优缺点,然后定义了一个新方法 'toType' -

var toType = function(obj) {
  return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase()
}

关于javascript - 获取 Javascript 变量类型的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7390426/

相关文章:

javascript - jQuery 在某个 div 开始页面而不滚动

c++ - 什么是 16 字节有符号整数数据类型?”

c# typeof 应用于泛型参数父类(super class)型

r - 检查多个数据帧的数据类型的函数 R

kotlin - 如何在 Kotlin 中检查类属性是否为 List 类型

javascript - 动态更改 HTML 表的 ID

javascript - React + Redux 绑定(bind)状态没有数据

javascript - 如何在 Promises 上冒泡错误而不在每个级别调用 `catch`?

types - Kotlin 可以在类文件中发出 JSR-305 注释吗

c++ - 如何声明 std::vector of boost histograms ? boost 直方图的类型是什么?