分享更有价值
被信任是一种快乐

es6里的has()怎么用

文章页正文上

本篇内容主要讲解“es6里的has()怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“es6里的has()怎么用”吧!在es6中,has()方法用于拦截HasProperty操作,也可用于隐藏某些属性;该方法作为函数的in运算符,返回一个布尔值,指示是否存在自有或继承的属性,语法为“Reflect.has(查找属性的目标对象,要检查的属性)”。本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。has作为函数的 in 运算符,它返回一个布尔值,指示是否存在自有或继承的属性。下面给出了函数has()的语法,其中,target是要在其中查找属性的目标对象。propertyKey是要检查的属性的名称。has()方法用来拦截 HasProperty 操作,即判断对象是否具有某个属性时,这个方法会生效。典型的操作就是 in 运算符。has()方法可以接受两个参数,分别是目标对象、需查询的属性名。使用 has()方法隐藏某些属性,不被 in 运算符发现。如果原对象的属性名的第一个字符是下划线,proxy.has()就会返回 false,从而不会被 in 运算符发现。如果原对象不可配置或者禁止扩展,这时 has()拦截会报错。上面代码中,obj 对象禁止扩展,结果使用 has 拦截就会报错。也就是说,如果某个属性不可配置(或者目标对象不可扩展),则 has()方法就不得“隐藏”(即返回 false)目标对象的该属性。值得注意的是,has()方法拦截的是 HasProperty 操作,而不是 HasOwnProperty 操作,即 has()方法不判断一个属性是对象自身的属性,还是继承的属性。另外,虽然 for…in 循环也用到了 in 运算符,但是 has()拦截对 for…in免费云主机、域名 循环不生效。上面代码中,has()拦截只对 in 运算符生效,对 for…in 循环不生效,导致不符合要求的属性没有被 for…in 循环所排除。到此,相信大家对“es6里的has()怎么用”有了更深的了解,不妨来实际操作一番吧!这里是云技术网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: jquery中eq()和get()有哪些区别

这篇文章给大家分享的是有关jquery中e免费云主机、域名q()和get()有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 区别:1、eq()方法返回的是jquery对象,而get()方法返回的是js对象;2、eq方法可以…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册