问题标签 [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.
javascript - 哪个是检查对象是否具有属性的最佳方法
我想问一下检查 ajax 响应对象是否具有属性的正确方法。我用谷歌搜索,我发现有不同的方法可以解决这个问题。
例如:
但肯定还有其他方法,例如:
所以我猜有一些优点和缺点,你能和我分享一下。
谢谢
json - 奇怪的 .hasOwnProperty 行为
为了从通过 HTTP 作为 JSON 接收的数据正确实例化 Typescript 对象,我正在探索使用for..in
循环的可能性,.hasOwnProperty()
如下所示:
在我的项目中使用类似的代码完全失败。这是意料之中的,因为编译后的 JS 代码不知道私有 TS 变量,所以hasOwnProperty
总是false
.
但是,我使用的是Typescript Playground,在那里运行该代码会在控制台中产生以下输出:
如您所见,这里显然发生了一些意想不到的事情。第一个键被识别,新的 User 实例使用 JSON 中的值初始化,但第二个键不会发生这种情况。
有人可以解释为什么会这样吗?
javascript - 使用 hasOwnProperty 时无法将 null 或 undefined 转换为对象
我正在尝试以hasOwnProperty
更优雅的方式使用。
我在这里有这段代码,它工作正常:
但是,当我尝试以obj.hasOwnProperty
速记方式传递(应该可以)时,它的行为并不符合我的预期。
为了确保hasOwnProperty
正确传递参数,我设置了这个测试用例:
a
,b
并且bamboo
都记录到控制台,所以我知道它正确地传递了参数。
为什么该行为不能正常工作hasOwnProperty
?
javascript - 在数组上使用 hasOwnProperty()
我可以在数组上使用 hasOwnProperty() 吗?我有这个RGBA值数组:
我想创建一个对象,按照它们在数组中的频率顺序对它们进行排序。我正在尝试多种事物的组合。
首先,我想使用以下方法将数组转换为对象:
但这会返回如下内容:
所以我想知道我是否可以像这样调用 hasOwnProperty ?
javascript - 在任何情况下我应该使用 in 运算符而不是 hasOwnProperty()?
在 JavaScript 中,in
运算符检查对象是否具有指定的属性。但是,它不仅检查对象自身的属性,还检查原型链。因此,在某些情况下,它的行为可能与预期不完全一样。
假设由于某种原因,我们有一个someArrayMethods
包含(显然)一些数组方法作为键的对象:
我们可以使用运算符检查该对象是否具有特定方法作为键in
:
如果我们试图检查toString
财产怎么办?
惊喜!事实证明,这个对象在原型链中有一个toString
方法,所以即使对象没有自己的属性,in
操作符也会返回。true
toString
这就是hasOwnProperty()
救援的地方!它与操作符几乎相同,但in
有一个区别:它不检查原型链。我们可以重写我们之前的例子:
现在它按预期工作。不幸的是,hasOwnProperty()
在一种情况下也可能失败。如果我们有一个拥有自己属性的对象hasOwnProperty
呢?看这个例子:
为了解决这个问题,someObject.hasOwnProperty
我们可以直接引用该方法,而不是使用Object.prototype
:
这似乎是检查对象是否具有某些属性的最合理方法。尽管如此,是否存在in
操作员有用的情况?我知道它可以用来检查某个类的实例是否具有某种方法,但是在这种情况下,简单地检查该对象是否是该类的实例不是更好吗?
作为旁注,另一种选择是Object.keys()
与 ECMAScript 2016一起使用Array.prototype.includes()
:
hasownproperty - 在数组中使用 hasOwnProperty()
在这里我只需要当检查值为true
. 现在两者true
都false
添加了。
javascript - 使用 ES6 代理捕获 Object.hasOwnProperty
我想使用 ES6 代理来捕获以下常见代码:
但是查看代理文档后,我不知道该怎么做,主要是has
陷阱陷阱是给in
操作员的,上面的代码中似乎没有使用它,并且没有用于hasOwnProperty
操作的陷阱。
cordova - 离子无法读取未定义的属性“hasOwnProperty”
我正在使用离子框架。我升级到更高版本的 ionic cli 并在运行时收到此错误ionic serve
。
如何解决问题以允许项目运行ionic serve
或ionic build
再次运行?
javascript - 遍历对象数组并打印出属性值
如果我有这个:
我怎样才能循环这个,以便mySecondArr = ['rich', 'brian']
我正在考虑做类似的事情:
我知道这是伪代码,但不能尽可能简单地执行此操作的语法
请不要查询
javascript - Node.js:为什么调用 hasOwnProperty 与 global.hasOwnProperty 不同?
也许这是一个新手问题,但我找不到或想出解释。
启动 Node.js 控制台,然后:
那么为什么
但
?