Skip to content

面向对象

class 语法拥有面向对象的概念,封装、继承和多态,同时可以使用接口达到类型组合的效果 class 应当具有原子性,不应当尝试从 class 中解构方法为一个函数,不应当从 class 中解构一个 getter 为一个函数 由于js中 this 的不确定性,减少 class 语法的使用,除非你确定要封装一个具有原子性的数据实体

closure 通过函数临时生成一个平对象或者高阶函数,能够将 scope 中的数据向外共享,从而达到简单的数据封装的目的 使用 closure 是函数一等公民的语言的买点,它允许用户快速创建并封装一个简单的数据结构,它具有比 class 更少的功能和更轻量的特点, 但是,闭包创建的对象是一个平对象,它每次调用都会重复地创建闭包函数,相较于 class 的方法,只会在原型对象上创建一次