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