define property_constructor属性

(1) 2024-07-21 18:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
define property_constructor属性,希望能够帮助你!!!。

##defineProperty
Object.defineProperty():方法会在对象上直接定义个新的属性,或者修改现有的属性,并返回此对象

let obj = {} //与我们使用 obj.name = 'zhangsna' 效果一样 但是用defineProperty定义的属性无法改变 或者删除 Object.defineProperty(obj,'name',{ value:'zhangsan' }) console.log(obj); 

define property_constructor属性_https://bianchenghao6.com/blog__第1张

 let obj = {} Object.defineProperty(obj,'name',{ value:'zhangsan' }) obj.name = 'lisi' delete obj.name console.log(obj); 

不论修改还是删除 结果还是张三
define property_constructor属性_https://bianchenghao6.com/blog__第2张

当我们想要修改或者删除属性需要对其进行配置
configurable:true|false 默认为false当值为true时属性可以被删除
writable:true|false 默认为false 当值为true时属性可以被修改

 let obj = {} Object.defineProperty(obj,'name',{ value:'zhangsan', configurable:true, writable:true }) obj.name = 'lisi' console.log(obj); //删除属性 let obj = {} Object.defineProperty(obj,'name',{ value:'zhangsan', configurable:true, writable:true }) obj.name = 'lisi' delete obj.name console.log(obj); 

修改属性
define property_constructor属性_https://bianchenghao6.com/blog__第3张
删除后
define property_constructor属性_https://bianchenghao6.com/blog__第4张

此外配置还有
enumerable:true|false 该属性为true对象就可以枚举属性影响的有
for…in 遍历自身属性和可枚举的属性
object.keys 返回自身所有可枚举的属性的键名
json.strings 字符串化自身可枚举的属性

get和set 是函数 当使用get 和set 不能设置 writable 和configurable

let obj = {} Object.defineProperty(obj,'name',{ configurable:true, enumerable:true, get(){ return name }, set(val){ name = val } }) obj.name = 'lisi' console.log(obj); 

define property_constructor属性_https://bianchenghao6.com/blog__第5张

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复