一、区分响应式、双向绑定
- 响应式:数据改变驱动视图的改变,是单向的
- 双向绑定:试图反过来改变数据,双向的,也就是说响应式是双向绑定的一环,
二、Object.defineProperty()语法说明
Object.defineProperty()的作用就是直接在一个对象上定义一个新属性,或者修改一个已经存在的属性
Object.defineProperty(obj, prop, desc)
- obj 需要定义属性的当前对象
- prop 当前需要定义的属性名
- desc 属性描述符
三、属性描述符
1. 数据描述符 –特有的两个属性(value、writable、enumerable)
Object.defineProperty(obj, 'a', {value: 3,// 是否可写writable: true,// 是否可以被枚举enumerable: true})
属性说明 | 属性 | 默认值 | 可选值 |
响应式对象的属性值 | value | — | — |
属性的值是否可写(是否可以改变value的值) | writable | false | true(可写) || false(只读) |
属性是否可以被枚举 | enumerable | false | true(可被枚举) || false(不可被枚举) |