javascript - typeof 函数修复/替代

标签 javascript

typeof 不能很好地工作,例如,typeof nullobject 上返回。除了这种改进的内置或定制替代品之外,还有更好的替代品吗?

最佳答案

参见 Fixing the JavaScript typeof Operator .

简而言之,你可以使用这个函数:

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

toType(null);   // -> "null"
toType({});     // -> "object"
toType([]);     // -> "array"
toType("asdf"); // -> "string"
toType(/asdf/); // -> "regexp"
// etc.

您应该查看该文章以详细了解它为何如此工作以及您可以从中得到什么。它总是返回一个字符串,就像 typeof 一样。

关于javascript - typeof 函数修复/替代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11108877/

相关文章:

javascript - extjs 记录按所需属性销毁

javascript - 在html中使用Bootstrap和KendoUI时正确的引用顺序和要引用的文件?

javascript - onMouseOver 和 onMouseOut 切换输入和 div,并更改 div 的值

javascript - 使用 mongodb 聚合查询获取子文档中 sibling 的数量

javascript - Date.toLocaleDateString 格式问题

javascript - 从数组中随机生成的字母的问题

javascript - 查找要上传文件的路径

javascript - Express 和 Passport-local 中的 req.isAuthenticated() 返回 false

JavaScript 不会从 Chrome 扩展上下文菜单运行

javascript - 为什么 React 无法正确渲染我的组件状态?