Javascript 检查类型的好方法是什么?

Javascript 检查类型的好方法是什么?,javascript,Javascript,在主干网等库中使用的一种简单方法是: typeof o === type; ES5建议使用类似于 (Object.prototype.toString.call(o) === '[object ' + type + ']'); 最后,用户共享了:() 这里有三种根本不同的方式 使用类型 使用toString 使用构造函数属性 我想用这3个方法来编写一个通用的checkType方法 任何关于如何最好地将这些逻辑结合起来的建议,或者为什么会有不同的方法。这里有一些有用的建议:这里是对这3种方

在主干网等库中使用的一种简单方法是:

typeof o === type;
ES5建议使用类似于

(Object.prototype.toString.call(o) === '[object ' + type + ']');
最后,用户共享了:()

这里有三种根本不同的方式

  • 使用类型
  • 使用toString
  • 使用构造函数属性
我想用这3个方法来编写一个通用的checkType方法


任何关于如何最好地将这些逻辑结合起来的建议,或者为什么会有不同的方法。这里有一些有用的建议:

这里是对这3种方法的一个很好的比较


typeof
是唯一可以用于未定义变量(不会引发错误)的关键字。我将其放入函数中,然后调用它<代码>返回Object.prototype.toString.call(obj.slice(8,-1)。我不明白你为什么要把它们结合起来?这将返回对象、字符串、数组等…等等…也许我经常检查数组?哈哈,我不会说这没用的。但我想这是主观的。一个好的组合是在默认情况下使用typeof来提高速度,但如果它返回Object,请使用toString再次检查Null和Array。这正是我要发布的内容!这是一个伟大的描述类型的运营商和如何使用它明智!我认为这篇文章指出的一件好事是,(typeof({})==typeof(null))的计算结果为true。
o.constructor === type;