當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。