Javascript 简明检查变量是否为object而不是数组或日期

Javascript 简明检查变量是否为object而不是数组或日期,javascript,arrays,object,Javascript,Arrays,Object,您可以通过以下方式进行检查: if (typeof var == 'object' && !Array.isArray(var) && !(var instanceof Date)){ ... } 但是有没有更简洁的方法呢 编辑 我应该消除这个问题的歧义:我所说的对象不仅仅是一个文字对象,而是任何对象(也是一个类的实例)你可以做I.constructor==object: console.log( [{},new Date(),[].map((i)=>i.c

您可以通过以下方式进行检查:

if (typeof var == 'object' && !Array.isArray(var) && !(var instanceof Date)){
 ...
}
但是有没有更简洁的方法呢

编辑


我应该消除这个问题的歧义:我所说的对象不仅仅是一个文字对象,而是任何对象(也是一个类的实例)

你可以做
I.constructor==object

console.log(
[{},new Date(),[].map((i)=>i.constructor==Object)

)
编写一个实用函数?
var.constructor.name
?我添加了一个注释,以澄清我所说的对象不仅仅是“文字对象”,对象也是new Something()的结果,对吗?
类a{};console.log((新的A()).constructor==Object)
将生成
false