Javascript中的Reflect.getOwnPropertyDescriptor()方法用於獲取對象的描述符。它與Object.getOwnPropertyDescriptor方法相同,但是非對象目標的處理方式不同。
用法:
Reflect.getOwnPropertyDescriptor(obj, Key)
參數:該方法接受上述和以下所述的兩個參數:
- Obj:此參數保存目標對象,並查找屬性。
- Key:此參數用於獲取屬性名稱的自己的屬性描述符。
返回值:此方法返回屬性描述符對象,如果目標對象不存在,則返回未定義。
異常:當目標不是對象時,TypeError是作為結果給出的異常。
以下示例說明了JavaScript中的Reflect.getOwnPropertyDescriptor()方法:
範例1:
<script>
let object = {
property1:"geeks"
};
console.log(Reflect.getOwnPropertyDescriptor(
object, 'property1').value);
console.log(Reflect.getOwnPropertyDescriptor(
object, 'property2'));
console.log(Reflect.getOwnPropertyDescriptor(
object, 'property1').writable);
let object1 = {
property2:"Javascript"
};
const object3 = {
property3:232
};
console.log(Reflect.getOwnPropertyDescriptor(
object1, 'property2').value);
console.log(Reflect.getOwnPropertyDescriptor(
object1, 'property3'));
console.log(Reflect.getOwnPropertyDescriptor(
object1, 'property2').writable);
console.log(Reflect.getOwnPropertyDescriptor
(object3, "null" ) === undefined
);
</script>
輸出:
"geeks" undefined true "Javascript" undefined true true
範例2:
<script>
const object1 = {
property1:"NULL"
};
console.log(Reflect.getOwnPropertyDescriptor(
object1, 'property2'));
console.log(Reflect.getOwnPropertyDescriptor(
object1, 'property1').writable);
console.log(Reflect.getOwnPropertyDescriptor(
object1, 'property1'));
console.log(Reflect.getOwnPropertyDescriptor(
{val:'hello'}, 'val'));
console.log(Reflect.getOwnPropertyDescriptor(
{val1:'hello'}, 'y'));
console.log(Reflect.getOwnPropertyDescriptor(
[], 'length'));
</script>
輸出:]
undefined true [object Object] { configurable:true, enumerable:true, value:"NULL", writable:true } [object Object] { configurable:true, enumerable:true, value:"hello", writable:true } undefined [object Object] { configurable:false, enumerable:false, value:0, writable:true }
範例3:調用非對象並發生錯誤。
<script>
console.log(Reflect.getOwnPropertyDescriptor('foo', 0));
</script>
輸出:
Error:Reflect.getOwnPropertyDescriptor called on non-object
支持的瀏覽器:下麵列出了JavaScript Reflect.getOwnPropertyDescriptor()方法支持的瀏覽器:
- 穀歌瀏覽器
- IE瀏覽器
- Firefox
- Opera
- Safari
- Edge
相關用法
- Javascript padStart()用法及代碼示例
- Javascript Int8Array from()用法及代碼示例
- Javascript Reflect.get()用法及代碼示例
- Javascript Reflect.has()用法及代碼示例
- 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()用法及代碼示例
注:本文由純淨天空篩選整理自SHUBHAMSINGH10大神的英文原創作品 JavaScript | Reflect.getOwnPropertyDescriptor() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。