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