判断 obj 对象中是否含有 children 属性,但出现以下报错
Do not access Object.prototype method 'hasOwnProperty' from target object.
不能直接访问Object原型上的方法
原因:
直接在结果对象上调用 hasOwnProperty 是不安全的,如果 obj 对象中本身带有 hasOwnProperty 属性,那么在调用时则会出现一些意想不到的问题。若有心之人加以利用,将 obj 中的属性设置为恶意代码,则会导致一些安全问题。
解决方法:
用 call 改变调用指向
const hasChild = Object.prototype.hasOwnProperty.call(obj, 'children');