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
。