问题标签 [hasownproperty]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2542 浏览

javascript - 哪个是检查对象是否具有属性的最佳方法

我想问一下检查 ajax 响应对象是否具有属性的正确方法。我用谷歌搜索,我发现有不同的方法可以解决这个问题。

例如:

但肯定还有其他方法,例如:

所以我猜有一些优点和缺点,你能和我分享一下。

谢谢

0 投票
2 回答
227 浏览

json - 奇怪的 .hasOwnProperty 行为

为了从通过 HTTP 作为 JSON 接收的数据正确实例化 Typescript 对象,我正在探索使用for..in循环的可能性,.hasOwnProperty()如下所示:

在我的项目中使用类似的代码完全失败。这是意料之中的,因为编译后的 JS 代码不知道私有 TS 变量,所以hasOwnProperty总是false.

但是,我使用的是Typescript Playground,在那里运行该代码会在控制台中产生以下输出:

如您所见,这里显然发生了一些意想不到的事情。第一个键被识别,新的 User 实例使用 JSON 中的值初始化,但第二个键不会发生这种情况。

有人可以解释为什么会这样吗?

0 投票
2 回答
1069 浏览

javascript - 使用 hasOwnProperty 时无法将 null 或 undefined 转换为对象

我正在尝试以hasOwnProperty更优雅的方式使用。

我在这里有这段代码,它工作正常:

但是,当我尝试以obj.hasOwnProperty速记方式传递(应该可以)时,它的行为并不符合我的预期。

为了确保hasOwnProperty正确传递参数,我设置了这个测试用例:

ab并且bamboo都记录到控制台,所以我知道它正确地传递了参数。

为什么该行为不能正常工作hasOwnProperty

0 投票
2 回答
14709 浏览

javascript - 在数组上使用 hasOwnProperty()

我可以在数组上使用 hasOwnProperty() 吗?我有这个RGBA值数组:

我想创建一个对象,按照它们在数组中的频率顺序对它们进行排序。我正在尝试多种事物的组合。

首先,我想使用以下方法将数组转换为对象:

但这会返回如下内容:

所以我想知道我是否可以像这样调用 hasOwnProperty ?

0 投票
3 回答
546 浏览

javascript - 在任何情况下我应该使用 in 运算符而不是 hasOwnProperty()?

在 JavaScript 中,in运算符检查对象是否具有指定的属性。但是,它不仅检查对象自身的属性,还检查原型链。因此,在某些情况下,它的行为可能与预期不完全一样。

假设由于某种原因,我们有一个someArrayMethods包含(显然)一些数组方法作为键的对象:

我们可以使用运算符检查该对象是否具有特定方法作为键in

如果我们试图检查toString财产怎么办?

惊喜!事实证明,这个对象在原型链中有一个toString方法,所以即使对象没有自己的属性,in操作符也会返回。truetoString

这就是hasOwnProperty()救援的地方!它与操作符几乎相同,但in有一个区别:它不检查原型链。我们可以重写我们之前的例子:

现在它按预期工作。不幸的是,hasOwnProperty()在一种情况下也可能失败。如果我们有一个拥有自己属性的对象hasOwnProperty呢?看这个例子:

为了解决这个问题,someObject.hasOwnProperty我们可以直接引用该方法,而不是使用Object.prototype

这似乎是检查对象是否具有某些属性的最合理方法。尽管如此,是否存在in操作员有用的情况?我知道它可以用来检查某个类的实例是否具有某种方法,但是在这种情况下,简单地检查该对象是否是该类的实例不是更好吗?


作为旁注,另一种选择是Object.keys()与 ECMAScript 2016一起使用Array.prototype.includes()

0 投票
1 回答
229 浏览

hasownproperty - 在数组中使用 hasOwnProperty()

在这里我只需要当检查值为true. 现在两者truefalse添加了。

0 投票
2 回答
1812 浏览

javascript - 使用 ES6 代理捕获 Object.hasOwnProperty

我想使用 ES6 代理来捕获以下常见代码:

但是查看代理文档后,我不知道该怎么做,主要是has陷阱陷阱是给in操作员的,上面的代码中似乎没有使用它,并且没有用于hasOwnProperty操作的陷阱。

0 投票
0 回答
1297 浏览

cordova - 离子无法读取未定义的属性“hasOwnProperty”

我正在使用离子框架。我升级到更高版本的 ionic cli 并在运行时收到此错误ionic serve

如何解决问题以允许项目运行ionic serveionic build再次运行?

0 投票
5 回答
953 浏览

javascript - 遍历对象数组并打印出属性值

如果我有这个:

我怎样才能循环这个,以便mySecondArr = ['rich', 'brian']

我正在考虑做类似的事情:

我知道这是伪代码,但不能尽可能简单地执行此操作的语法

请不要查询

0 投票
4 回答
1274 浏览

javascript - Node.js:为什么调用 hasOwnProperty 与 global.hasOwnProperty 不同?

也许这是一个新手问题,但我找不到或想出解释。

启动 Node.js 控制台,然后:

那么为什么

?