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


Javascript Reflect.defineProperty()用法及代碼示例

JavaScript中的Reflect.defineProperty()方法用於允許精確添加或修改對象上的屬性。此方法返回一個布爾值,該值指示該屬性是否已成功定義。

用法:

Reflect.defineProperty(target, propertyKey, attributes) 

參數:此方法接受上述和以下所述的三個參數:



  • target:此參數定義屬性和目標對象。
  • propertyKey:此參數是要定義或修改的屬性的名稱。
  • Attributes:此參數是正在定義或修改的屬性的屬性。

返回值:此方法返回一個布爾值,該值指示該屬性是否已成功定義。

異常:當目標不是對象時,TypeError是作為結果給出的異常。

以下示例說明了JavaScript中的Reflect.defineProperty()方法:

範例1:

const object1 = {}; 
  
if (Reflect.defineProperty(object1, 'geeks1', {value:42})) { 
  console.log('geeks1 assigned'); 
    
} else { 
  console.log('problem created by  geeks1'); 
} 
  
console.log(object1.geeks1); 
   
const object2 = {};  
const object3 = {};  
(Reflect.defineProperty(object2, 'geeks2', {value:97}))   
if (Reflect.defineProperty(object3, 'geeks3', {value:23})) {   
  console.log('geeks3 assigned');   
} else {   
  console.log('problem created by geeks3');   
}   
console.log(object3.geeks3);   
console.log(object2.geeks2);

輸出:

"geeks1 assigned"
42
"geeks3 assigned"
23
97

範例2:

const a = {};   
const result = Reflect.defineProperty(a, "geek1",   
{ value:19, });   
  
console.log(a); 
console.log( result);    
  
const b = {};   
const result1 = Reflect.defineProperty(b, "geek2",   
{ value:56,   
  writable:false
}   
);   
console.log(b );   
console.log(result1);  
  
let obj = {} 
Reflect.defineProperty(obj, 'x', {value:71})  // true 
console.log(obj.x)

輸出:

Object {  }
true
Object {  }
true
71

支持的瀏覽器:下麵列出了JavaScript Reflect.defineProperty()方法支持的瀏覽器:

  • 穀歌瀏覽器
  • IE瀏覽器
  • Firefox
  • Opera
  • Safari
  • Edge



相關用法


注:本文由純淨天空篩選整理自SHUBHAMSINGH10大神的英文原創作品 JavaScript | Reflect.defineProperty() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。