function Observer (value) {
  this.value = value;
  this.dep = new Dep();
  this.vmCount = 0;
  def(value, '__ob__', this);
  if (Array.isArray(value)) {
    var augment = hasProto
      ? protoAugment
      : copyAugment;
    augment(value, arrayMethods, arrayKeys);
    this.observeArray(value);
  } else {
    this.walk(value);
  }
}
function Observer (value) {
  this.value = value;
  this.dep = new Dep();
  this.vmCount = 0;
  def(value, '__ob__', this);
  if (Array.isArray(value)) {
    var augment = hasProto
      ? protoAugment
      : copyAugment;
    augment(value, arrayMethods, arrayKeys);
    this.observeArray(value);
  } else {
    this.walk(value);
  }
}
function Observer ( value ) { this . value = value ; this . dep = new Dep ( ) ; this . vmCount = 0 ; def ( value , '__ob__' , this ) ; if ( Array . isArray ( value ) ) { var augment = hasProto ? protoAugment : copyAugment ; augment ( value , arrayMethods , arrayKeys ) ; this . observeArray ( value ) ; } else { this . walk ( value ) ; } }
Observer class that are attached to each observed
object. Once attached, the observer converts target
object's property keys into getter/setters that
collect dependencies and dispatches updates.
Observer class that are attached to each observed object . Once attached the observer converts target object s property keys into getter / setters that collect dependencies and dispatches updates .
observe value