es6的Object.defineproperty
创始人
2025-05-28 19:17:47

1.(在f12控制台的字体颜色区别)

1.1未使用defineproperty添加属性



回顾Object.defineproperty方法



在这里插入图片描述

1.2 使用defineproperty添加属性

在这里插入图片描述

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

2.是否可枚举

2.1未使用defineproperty添加属性



回顾Object.defineproperty方法



在这里插入图片描述

2.2 使用defineproperty添加属性



回顾Object.defineproperty方法



在这里插入图片描述

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

3.使用enumerable



回顾Object.defineproperty方法



在这里插入图片描述

总结: 会发现添加了enumerable属性后,不仅可以枚举了,颜色也变深了。

但是会发现一个问题,就是无法修改



回顾Object.defineproperty方法



在这里插入图片描述

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

在这里插入图片描述

4.使用writable

在这里插入图片描述

5.使用configurable

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

在这里插入图片描述

使用Object.defineproperty的
在这里插入图片描述

添加configurable属性的
在这里插入图片描述

6.使用get函数

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



回顾Object.defineproperty方法



在这里插入图片描述

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



回顾Object.defineproperty方法



在这里插入图片描述

会发现有个 get age:f() 刚好对应get函数对应的age属性

7.使用set函数



回顾Object.defineproperty方法



在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

相关内容

热门资讯

科普实测“新道游斗牛透视辅助软... 您好:新道游斗牛这款游戏可以开挂,确实是有挂的,需要软件加微信【6355786】,很多玩家在新道游斗...
重磅消息“蜀中生活圈到底能开挂... 您好:蜀中生活圈这款游戏可以开挂,确实是有挂的,需要了解加客服微信【3636476】很多玩家在这款游...
今日重大通报“新琉璃牛牛能开透... 您好:新琉璃牛牛这款游戏可以开挂,确实是有挂的,需要软件加微信【4194432】,很多玩家在新琉璃牛...
实测分享“新道游到底有挂吗”原... 您好:新道游这款游戏可以开挂,确实是有挂的,需要软件加微信【8700483】,很多玩家在新道游这款游...
科普实测“蜀山四川麻将真的有挂... 您好:蜀山四川麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【69174242】很多玩家在蜀...