我正在阅读 prisma ORM 源代码,偶然发现了这个片段:
export class MigrateDev implements Command {
public static new(): MigrateDev {
return new MigrateDev()
}
...
我很困惑。在其自己的构造函数中返回类的新实例如何导致除了无限循环和堆栈溢出之外的任何结果?
很简单,那不是构造函数。这只是一个名为
new
的静态/类方法,因为 javascript 允许使用这样的受限关键字