回顾Object.defineproperty方法


总结: 会发现,通过Object.defineproperty添加进来的属性颜色会浅些
回顾Object.defineproperty方法

回顾Object.defineproperty方法

总结: Object.defineproperty不可枚举,就是不可以遍历得到通过Object.defineproperty添加进来的属性
回顾Object.defineproperty方法

总结: 会发现添加了enumerable属性后,不仅可以枚举了,颜色也变深了。
但是会发现一个问题,就是无法修改
回顾Object.defineproperty方法

不是用Object.defineproperty的是可以修改的


正常情况下,是可以任意删除属性的

使用Object.defineproperty的

添加configurable属性的

有个场景:如下代码,我想在控制台上让其number修改后,person.age也跟着改变
回顾Object.defineproperty方法

解决方案:使用Object.defineproperty里的get函数
回顾Object.defineproperty方法

会发现有个 get age:f() 刚好对应get函数对应的age属性
回顾Object.defineproperty方法

会发现person的age并没有发生变化,因为get函数会返回age的值,而get函数return的是number这个变量,如果需要修改,则在set函数中添加number=value;

