对象的数据属性(Object)

Posted biubiu小希希

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象的数据属性(Object)相关的知识,希望对你有一定的参考价值。

value: 对象属性的默认值,默认值为undefined

configurable: 能否使用delete、能否需改属性特性、或能否修改访问器属性、,false为不可重新定义,默认值为true

enumerable: 对象属性是否可通过for-in循环,flase为不可循环,默认值为true

writable: 对象属性是否可修改,flase为不可修改,默认值为true

let person = {};
Object.defineProperty(person, ‘name‘, {
    value: ‘xixi‘,
    configurable: false,
    writable: false,
    enumerable: false,
});

//value
console.log(person.name); //xixi

//writable
person.name=‘biubiu‘;
console.log(person.name); //xixi writable: false,不可修改value值

//configurable
Object.defineProperty(person, ‘name‘, {
    value: ‘xixi‘,
    configurable: true,
    writable: true,
    enumerable: false,
}); //configurable: false, 不可修改属性 报错 Uncaught TypeError
delete person.name; //不可修改

//enumerable 
for(var i in person){ 
    console.log(person[i]); 
} //enumerable: false,不可枚举 无结果  

Object.defineProperty(person, ‘name2‘, { 
    value: ‘hh‘, 
    configurable: true, 
    writable: true,
    enumerable: true, 
});
console.log(person.name2); //hh  
person.name2=‘jj‘; 
console.log(person.name2); //writable: true 可修改 jj  

Object.defineProperty(person, ‘name2‘, { 
    value: ‘jj‘, 
    configurable: true, 
    writable: false, 
    enumerable: true, 
}); //configurable: true,配置可修改 

person.name2=‘jj2‘; 
console.log(person.name2); //jj writable改为false不可修改 

for(var i in person){ 
    console.log(person[i]); 
} //jj

 

以上是关于对象的数据属性(Object)的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

js中的Object.assign接受两个函数为参数的时候会发生什么?

数据类型-object对象数据类型

对象的数据属性(Object)

使用特定对象而不是对象属性获取核心数据

浅谈js对象之数据属性访问器属性Object.defineProperty方法