,可以通过以下方式实现:
示例代码:
var obj = {};
Object.defineProperty(obj, 'property', {
value: 'value',
writable: true,
enumerable: true,
configurable: false
});
console.log(obj.property); // 输出:value
delete obj.property;
console.log(obj.property); // 输出:value,属性无法被删除
obj.newProperty = 'new value';
console.log(obj.newProperty); // 输出:new value,可以添加新属性
示例代码:
var obj = new Proxy({}, {
deleteProperty: function(target, property) {
return false;
}
});
obj.property = 'value';
console.log(obj.property); // 输出:value
delete obj.property;
console.log(obj.property); // 输出:value,属性无法被删除
obj.newProperty = 'new value';
console.log(obj.newProperty); // 输出:new value,可以添加新属性
以上两种方法都可以实现阻止用户删除对象属性的功能,但允许添加新属性。具体选择哪种方法取决于具体的使用场景和需求。
腾讯云相关产品推荐:
领取专属 10元无门槛券
手把手带您无忧上云