Object.defineProperty方法(Vue 数据双向绑定原理)

本文探讨了Vue框架中数据双向绑定的实现原理,重点解析了JavaScript的Object.defineProperty方法。通过访问器描述符的get和set方法,解释了如何利用该方法实现对象属性的动态监听和更新,进而理解Vue中的数据绑定机制。文中还提供了一个简单的数据双向绑定示例,并提及了一篇关于JavaScript与ES重要知识点的笔记资料。
摘要由CSDN通过智能技术生成

在学习了Vue的基本使用之后,对于vue框架中的双向数据绑定的实现原理还没了解过,今天看到Object.defineProperty方法后,了解到这个方法涉及到双向数据绑定原理。于是深入了解了一下,特来记录一下。

Object.defineProperty(obj, propertyName, descriptor)

  • objpropertyName

obj是应用描述符的对象,property是obj对象属性

  • descriptor

descriptor可以是属性描述符对象,也可以是访问器描述符对象,这里只说访问器描述符,我们先看一下对象的访问器属性,它们本质上是用于获取和设置值的函数。访问器属性由‘getter’ 和 ‘setter’方法表示,在对象字面量中,用 get 和 set 表示。

let obj = {// 当读取obj的name属性时,该方法起作用get name(){} // obj.name = value 当设置obj的name属性值时,该方法起作用set name(value) { }
} 

当我们调用 obj.name 时,实际是getter在运行

访问器描述符

在访问器描述符对象中,也有get和set方法,通过这两个方法设置对象的属性

let person = {lastName: 'john',firstName: 'smith'
}

Object.defineProperty(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值