我看过一些专门的帖子,hasOwnProperty
但我仍然质疑是否(以及何时)应该在简单的obj.prop
if (obj.hasOwnProperty("prop"))
对于检查对象是否定义了非继承属性很有用,prop
但这是否比简单地做更好if (obj.prop)
?
当您有嵌套对象时,梯子特别有用。例如,如果您有一个对象,该对象superheros
具有 的属性,dcComics
并且在该属性内具有batman
要检查是否设置了 batman,hasOwnProperty
您必须:
if (superheros.hasOwnProperty("dcComics") && superheros.dcComics.hasOwnProperty("batman") {...}
使用简单的道具检查:
if (superheros.dcComics && superheros.dcComics.batman)
在大多数情况下,当您不定义自己的 js 对象时,只使用 js 是否可以接受obj.prop
?