美文网首页
《全栈工程师修炼指南》学习笔记 12

《全栈工程师修炼指南》学习笔记 12

作者: VioletJack | 来源:发表于2023-02-04 21:43 被阅读0次

JavaScript 面向对象

在这一讲中,我们将学习 JavaScript 面向对象的基本知识和技巧,提升代码层面的面向对象设计和编码能力。

  • 封装
    • 一种通过接口抽象将具体实现包装并隐藏起来的方法。
    • 封装的机制包含两部分
      • 限制对对象内组件直接访问的机制。
      • 将数据绑定起来,对外提供方法,从而改变对象状态的机制。
    • 闭包:是引用了自由变量的函数。我的理解是常规的函数在执行完后就会被销毁,而闭包由于它返回了函数,并且函数引用了闭包中的变量。所以不会被销毁。
    • 纯函数:与闭包相对,函数不允许引用任何自由变量。
    • 安全和幂等
      • 闭包的调用是不安全的,因为他可能改变对象内部的属性;同时它是不幂等的,因为一次调用和多次调用产生的结果可能不同。
      • 纯函数是安全的、幂等的。
  • 继承
    • 一个对象或者类能够自动保持另一个对象或者类的实现的一种机制。
    • JavaScript 中最常见的是原型链继承,这样原型的设计在常见的静态语言中并不常见。
    • 构造继承
  • 多态
    • 同样的接口,有着不同的实现。
    • JavaScript 中没有接口关键字,可以通过同名方法在不同类中有着不同的实现来达到多态的效果。
  • 对象创建
    • JavaScript 的对象创建其实是有很多坑的。
    • this 的指向,this 的绑定方式。
    • new 到底做了什么
    • 对象的继承 Object.create(null)

思考

JavaScript 的面向对象是比较坑的,需要多理解。这部分也是面试题的重灾区。

相关文章

网友评论

      本文标题:《全栈工程师修炼指南》学习笔记 12

      本文链接:https://www.haomeiwen.com/subject/lyxahdtx.html