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


Javascript handler.deleteProperty()用法及代碼示例

JavaScript中的handler.deleteProperty()方法是delete運算符的陷阱。如果刪除成功,則此方法返回布爾值。

用法:

const p = new Proxy(target, {
  deleteProperty:function(target, property) {
  }
});

參數:該方法接受上述和以下所述的兩個參數:



  • Target:此參數保存目標對象。
  • Property:此參數保存要刪除的屬性的名稱。

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

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

範例1:

const monster1 = { 
  Color:'Green'
}; 
  
const handler1 = { 
  deleteProperty(target, prop) { 
    if (prop in target) { 
      delete target[prop]; 
      console.log(`${prop} is property which is removed`); 
    } 
  } 
}; 
  
console.log(monster1.Color); 
  
const proxy1 = new Proxy(monster1, handler1); 
delete proxy1.Color; 
  
console.log(monster1.Color); 
  
var f = { bar:'baz' }     
console.log('bar' in f)   
    
delete f.bar   
console.log('bar' in f) 

輸出:

"Green"
"Color is property which is removed"
undefined
true
false

示例2:

const obj = new Proxy({}, { 
  deleteProperty:function(target, prop) { 
    if (prop in target){ 
      delete target[prop] 
      console.log(prop+ ' property is removed.') 
      return true
    } 
    else { 
      console.log(prop+ ' property is not removed.') 
      return false
    } 
  } 
}) 
  
let result 
  
obj.prop1 = 10 
console.log('prop1' in obj)  
  
result = delete obj.prop1    
console.log(result)     
console.log('prop1' in obj)  
  
result = delete obj.prop1    
console.log(result)

輸出:

true
"prop1 property is removed."
true
false
"prop1 property is not removed."
false

支持的瀏覽器:handler.deleteProperty()方法支持的瀏覽器如下:

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



相關用法


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