// 使用 Object.defineProperty 定义属性
// 创建一个对象
let obj = {};
// 使用 defineProperty 定义一个名为 'value' 的属性
Object.defineProperty(obj, 'value', {
value: 10, // 属性的值
writable: false, // 是否可以修改属性的值,默认为 false
enumerable: true, // 是否可以在枚举属性时被遍历,默认为 false
configurable: false // 是否可以删除或重新定义属性,默认为 false
});
console.log(obj.value); // 输出: 10
// 尝试修改属性值
obj.value = 20;
console.log(obj.value); // 输出: 10,因为 writable 设置为 false,所以值不会改变
// 尝试删除属性
delete obj.value;
console.log(obj.value); // 输出: 10,因为 configurable 设置为 false,所以无法删除属性
// 枚举属性
for (let key in obj) {
console.log(key); // 输出: value,因为 enumerable 设置为 true,所以可以枚举
}
上一篇:js ceil
下一篇:js isempty
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站