📅  最后修改于: 2023-12-03 15:24:50.717000             🧑  作者: Mango
在 JavaScript 中,Object 构造函数是用于创建对象的基础。如果你想检查一个值是否由 Object 构造函数创建的对象,可以使用 instanceof 运算符。
实例如下:
const obj = {};
console.log(obj instanceof Object); // true
const arr = [];
console.log(arr instanceof Object); // true
const str = 'Hello world';
console.log(str instanceof Object); // false
const num = 10;
console.log(num instanceof Object); // false
const bool = true;
console.log(bool instanceof Object); // false
在上面的示例中,我们使用 instanceof 运算符检查了不同类型的值是否是由 Object 构造函数创建的对象。值为 obj 和 arr 的变量都是通过 Object 构造函数创建的对象,因此 instanceof 运算符返回 true。而值为 str、num 和 bool 的变量,则不是由 Object 构造函数创建的对象,因此 instanceof 运算符返回 false。
需要注意的是,instanceof 运算符的左操作数应为一个对象(如我们上面示例中的 obj 和 arr 变量),而不是基本数据类型的值(如 str、num 和 bool 变量)。如果左操作数不是一个对象,instanceof 运算符会抛出 TypeError 异常。
因此,我们可以使用如下代码片段来检查提供的值是否是由 JavaScript 中的 Object 构造函数创建的对象:
function isObject(value) {
return value instanceof Object;
}
上面的函数接收一个参数 value,如果 value 是由 Object 构造函数创建的对象,该函数返回 true,否则返回 false。
总结:
要检查提供的值是否是由 JavaScript 中的 Object 构造函数创建的对象,可以使用 instanceof 运算符。值的类型是基本数据类型还是对象类型,决定了 instanceof 运算符的返回值。注意要使用 instanceof 运算符的左操作数必须是一个对象。