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()怎么用”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: Springboot使用put、delete请求报错405怎么解决

本篇内容介绍了“Springboot使用put、delete请求报错405怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家免费云主机域名仔细阅读,能够学有所成!SpringBoo…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/25 16:04
下一篇 04/25 16:45

相关推荐