在 JavaScript 中,factory function 是指任何不需要透过 new 就能回传物件的函式,也就是说它不是 class 或 constructors。

透过 factory function,可以产生许多带有相同属性、预设值的物件:

当我们需要建立许多带有相同属性的物件时,factory pattern 还蛮好用的。

Cons​

在许多情况下,比起每次都建立新的物件,使用 class 来建立新的实例(instance)在内存使用上会更有效率,特别是在物件里用方法(method)时,让所有的物件都能继承相同的方法,比起让每个物件都需要各自带有该方法会能够更有效率的使用内存。