Vue中的Object.defineProperty详解

Vue中的Object.defineProperty是一个比较重要的方法,它是可以定义对象中属性的一个方法,相比于在对象中直接定义的对象,它更具有灵活性。

直接定义对象中的属性是这样的:

javascript 复制代码
 let person = {
        name:'张三',
        address:'广东',
        age:12,
   } 

而Object.defineProperty可以直接在上面的对象中添加属性,如下面所示:

javascript 复制代码
 Object.defineProperty(person,'age',{
        enumerable:true,//该对象的属性是否能被遍历,默认是false
        writable:true,//该属性是否能被修改,默认是false
        configurable:false,//该属性是否能被删除,默认是false
    })

如果用上面的方法进行定义属性的,属性就能变得更加灵活多变。

javascript 复制代码
 let number = 13;

    Object.defineProperty(person,'age',{
        // enumerable:true,
        // writable:true,
        // configurable:false,
        get:function(){
           console.log("有人在读取该属性值");
           return number;
        },
        set:function(value){
           console.log("有人在修改该属性值");
           number = value;
        }
    })

而上面的方法也可以对对象进行灵活的修改和读取。

相关推荐
e***U82044 分钟前
前端路由懒加载实现,React.lazy与Suspense
前端·react.js·前端框架
诸葛亮的芭蕉扇1 小时前
抓图巡检-底图支持绘制
开发语言·前端·javascript
来碗盐焗星球1 小时前
yalc,yyds!
前端
熊猫比分站1 小时前
让电竞数据实时跳动:Spring Boot 后端 + Vue 前端的完美融合实践
前端·vue.js·spring boot
eason_fan1 小时前
ESLint报错无具体信息:大型代码合并中的内存与性能问题排查
前端
ConardLi2 小时前
前端程序员原地失业?全面实测 Gemini 3.0,附三个免费使用方法!
前端·人工智能·后端
一 乐2 小时前
健康打卡|健康管理|基于java+vue+的学生健康打卡系统设计与实现(源码+数据库+文档)
android·java·数据库·vue.js·spring boot·微信小程序
木子李BLOG2 小时前
Element Plus
前端·javascript·vue.js
Miketutu3 小时前
【大屏优化秘籍】Element UI El-Table 表格透明化与自定义行样式实战
前端·javascript·vue.js
止水编程 water_proof3 小时前
JavaScript基础
开发语言·javascript·ecmascript