gpt4 book ai didi

javascript - 如何检测变量是否是纯javascript对象

转载 作者:行者123 更新时间:2023-11-28 12:54:14 24 4
gpt4 key购买 nike

我有一个需要向其传递对象的函数。我使用 typeof 运算符在处理之前进行检查。但看看this link ,似乎许多 javascript 实例(例如数组或正则表达式)都被键入为对象

我需要我的参数是一个纯对象(像这样:{key: value, . . .})。

他们有什么方法可以检查变量是否是纯对象,而不必为每个对象实例运行特定测试,例如Array.isArray()

最佳答案

要达到预期结果,请使用以下查找构造函数名称的选项来检查变量是否是纯 javascript 对象

根据 MDN,

All objects (with the exception of objects created withObject.create(null)) will have a constructor property. Objects createdwithout the explicit use of a constructor function (i.e. the objectand array literals) will have a constructor property that points tothe Fundamental Object constructor type for that object.

请参阅此链接以了解有关构造函数属性的更多详细信息 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor

var x = {a:1,b:2};
var y = [1,2,3];

console.log(x.constructor.name === "Object")//x.constructor.name is Object
console.log(y.constructor.name === "Object")//y.constructor.name is Array

关于javascript - 如何检测变量是否是纯javascript对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57227185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com