一、区分响应式、双向绑定

  1. 响应式:数据改变驱动视图的改变,是单向的
  2. 双向绑定:试图反过来改变数据,双向的,也就是说响应式是双向绑定的一环,

二、Object.defineProperty()语法说明

Object.defineProperty()的作用就是直接在一个对象上定义一个新属性,或者修改一个已经存在的属性

Object.defineProperty(obj, prop, desc)
  1. obj 需要定义属性的当前对象
  2. prop 当前需要定义的属性名
  3. desc 属性描述符

三、属性描述符

1. 数据描述符 –特有的两个属性(value、writable、enumerable

Object.defineProperty(obj, 'a', {value: 3,// 是否可写writable: true,// 是否可以被枚举enumerable: true})
属性说明属性默认值可选值
响应式对象的属性值value
属性的值是否可写(是否可以改变value的值)writablefalsetrue(可写) || false(只读)
属性是否可以被枚举enumerablefalsetrue(可被枚举) || false(不可被枚举)