Vue学习笔记-Object.defineproperty函数

文章目录


前文提要

本人仅做个人学习记录,如有错误,请多包涵


Object.defineProperty作用

当在js中声明了一个变量,可以通过Object.defineProperty给已经确定属性的变量增加新的属性。

但是新增加的属性,如果没有经过修改,默认无法枚举(查询的时候有,但是无法出现在数组之中,例如Object.keys(person)中),无法被修改,无法被删除

除非特别设置

可以将enumerable设置为true来允许枚举,

将writable设置为true来允许修改,

将configurable来允许删除

Object.defineProperty参数

第一个参数是需要修改的变量,第二个是新增的属性,第三个是一个对象,里面有一系列的设置

使用例图

getter,也就是get函数

当有人查看了defineProperty这个这个函数这次修改的属性的时候,例如在控制台console输入person.age,getter会自动调用

setter,也就是set函数

当有人查看了defineProperty这个这个函数这次修改的属性的时候,例如在控制台console输入person.age = 20,setter会自动调用


至此,结束。

如果你觉得这篇文章写的不错,多多点赞~收藏吧!

相关推荐
无心水7 分钟前
【Java面试笔记:基础】8.对比Vector、ArrayList、LinkedList有何区别?
java·笔记·面试·vector·arraylist·linkedlist
前端大白话12 分钟前
震惊!90%前端工程师都踩过的坑!computed属性vs methods到底该怎么选?一文揭秘高效开发密码
前端·vue.js·设计模式
卡皮巴拉爱吃小蛋糕14 分钟前
MySQL的MVCC【学习笔记】
数据库·笔记·mysql
HuaHua的世界18 分钟前
说说Vue 模板是如何编译的?
vue.js·面试
Jet_closer_burning19 分钟前
axios封装
前端·javascript·vue.js·react.js·ajax
7643319 分钟前
Nuxt3-Vue3
前端·javascript·vue.js
清流君25 分钟前
【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
数据库·人工智能·笔记·mysql·ue5·数字孪生
佛系菜狗1 小时前
element-ui、element-plus表单resetFields()无效的坑
前端·javascript·vue.js
Angindem1 小时前
SpringClound 微服务分布式Nacos学习笔记
分布式·学习·微服务
虾球xz1 小时前
游戏引擎学习第244天: 完成异步纹理下载
c++·学习·游戏引擎