📜  javascript 检查对象是否为对象 - Javascript (1)

📅  最后修改于: 2023-12-03 15:31:44.704000             🧑  作者: Mango

Javascript 检查对象是否为对象

在 Javascript 中,我们经常需要检查一个变量是否是对象类型。这里我们介绍一种检查对象是否为对象的方法。

代码实现
function isObject(obj) {
  return Object.prototype.toString.call(obj) === '[object Object]';
}

以上代码中,我们定义了一个名为 isObject 的函数,该函数接收一个参数 obj。我们通过 Object.prototype.toString.call(obj) 检查该参数的类型是否为 Object。如果是,则返回 true,否则返回 false。

调用示例
console.log(isObject({})); // true
console.log(isObject([])); // false
console.log(isObject('')); // false
console.log(isObject(null)); // false
console.log(isObject(undefined)); // false
解释说明

在 Javascript 中,对象是一种复合数据类型,可以容纳多个值。对于一个对象,我们可以使用 typeof 进行类型检查,也可以通过 Object.prototype.toString.call(obj) 方法进行更精确的类型判断。

在以上代码中,我们通过调用 Object.prototype.toString.call(obj) 来获取 obj 的类型标记,然后与 '[object Object]' 进行比较。如果两者相同,则说明 obj 是一个对象,否则不是对象。

需要注意的是,以上代码只能判断是否为对象类型,而不能判断是否为普通对象。对于其他类型的对象(例如函数、数组或正则表达式等),结果也会返回 true。