JavaScript中的Reflect.has()方法用于检查属性是否存在于对象中。它像in
运算符的函数。
用法:
Reflect.has(target, propertyKey)
参数:该方法接受上述和以下所述的两个参数:
- target:此参数是目标对象,它将查找属性。
- propertyKey:此参数是要检查的属性的名称。
返回值:此方法返回一个布尔值,该值指示目标是否具有该属性。
异常:当目标不是对象时,TypeError是作为结果给出的异常。
以下示例说明了JavaScript中的Reflect.has()方法:
范例1:
<script>
const object1 = {
property1:434
};
console.log(Reflect.has(object1, 'property1'));
console.log(Reflect.has(object1, 'property2'));
console.log(Reflect.has(object1, 'toString'));
var x = { foo:1 };
console.log(Reflect.has(x, 'foo'));
console.log('foo' in x);
console.log(Reflect.has(x, 'bar'));
console.log('bar' in x);
</script>
输出:
true false true true true false false
范例2:
<script>
// Returns true for properties in
// the prototype chain
console.log(Reflect.has({x:0}, 'toString') );
// Proxy with .has() handler method
let obj = new Proxy({}, {
has(t, k) { return k.startsWith('geeks') }
});
console.log(Reflect.has(obj, 'geeksforgeeks'));
console.log(Reflect.has(obj, 'geekforgeek'));
const val1 = {foo:123}
const val2 = {__proto__:val1}
const val3 = {__proto__:val2}
// The prototype chain is:c -> b -> a
console.log(Reflect.has(val3, 'foo'));
</script>
输出:
true true false true
支持的浏览器:下面列出了JavaScript Reflect.has()方法支持的浏览器:
- 谷歌浏览器
- IE浏览器
- Firefox
- Opera
- Safari
- Edge
相关用法
- Javascript padStart()用法及代码示例
- Javascript Int8Array from()用法及代码示例
- Javascript Reflect.get()用法及代码示例
- Javascript Unit16Array.from()用法及代码示例
- Javascript handler.get()用法及代码示例
- Javascript Int16Array from()用法及代码示例
- Javascript Uint8Array.from()用法及代码示例
- Javascript hasOwnProperty()用法及代码示例
- Javascript compile()用法及代码示例
- Javascript Uint32Array from()用法及代码示例
- Javascript Array from()用法及代码示例
- Javascript Array.from()用法及代码示例
- Javascript handler.has()用法及代码示例
- Javascript exec()用法及代码示例
- Javascript Int32Array.from()用法及代码示例
注:本文由纯净天空筛选整理自SHUBHAMSINGH10大神的英文原创作品 JavaScript | Reflect.has() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。