JavaScript工厂模式是通过普通函数封装对象创建逻辑并返回新对象,不依赖new和构造函数,适合创建结构相似但属性不同的多个对象。
JavaScript 工厂模式是一种创建对象的模式,它不使用 new 关键字和构造函数,而是通过一个普通函数(即“工厂函数”)来封装对象的创建逻辑,返回一个新对象实例。
把对象的创建过程集中到一个函数中,让调用者无需关心内部细节,只需传入参数,就能得到所需对象。它解决了直接用字面量或构造函数重复创建相似对象时的冗余问题。
定义一个函数,接收必要参数,在函数内部创建并配置对象,最后返回该对象。
new,也不需要 this 或原型链示例:
function createUser(name, age, role) {工厂模式更灵活,可返回任意类型(甚至不同结构的对象),而构造函数和 class 必须配合 new 使用,且返回的是固定原型的对象。
new,隐式返回 this,共享原型方法new
等工厂模式创建的对象默认不共享方法,每个实例都会拥有自己的方法副本,可能造成内存浪费。