前端每日一题:2022-01-19

91 阅读1分钟

1.Object.defineProperty 和 ES6 的 Proxy 有什么区别?

Object.definePropert监听手段比较单一,只能监听set和get, Proxy有13种

  • Proxy返回的是一个新对象,我们可以只操作新的对象达到目的,而Object.defineProperty只能遍历对象属性直接修改;
  • Object.defineProperty对对象自身做修改, 而Proxy只是在Object基础上加一层拦截,不修改原对象(如果有嵌套,通过递归则会修改原对象)

2.观察者模式 发布-订阅模式 的区别

  • 观察者模式里只有两个角色:观察者和被观察者。发布订阅模式里有三种角色:发布者、订阅者、调度器(第三者)。
  • 观察者和被观察者是松耦合的关系。发布者和订阅者则完全不存在耦合。