当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Javascript Reflect.has()用法及代码示例


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



相关用法


注:本文由纯净天空筛选整理自SHUBHAMSINGH10大神的英文原创作品 JavaScript | Reflect.has() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。