【发布时间】:2014-03-07 07:47:04
【问题描述】:
我在 SO 问题中看到了一些文章和一些关于使用 new 和构造函数是错误的并且不应该使用的答案的声明。
它们违背了 JavaScript 的原型特性。
有人可以启发我并展示使用new 和构造函数的情况非常糟糕,不应该使用吗?
【问题讨论】:
-
new只是程序员包里的另一个工具——不要害怕在相关的地方使用它们。eval和with等其他事物也是如此(尽管后者的情况很少见)。 -
你能链接到那些文章吗?
-
在
Object.create之前,如果需要原型支持,确实没有替代new的机会。 -
@user2864740——MDN 上有一个用于 Object.create 的 pollyfill,它使用了至少十年前创建的模式(最初称为“克隆”)。还有直接分配给
__proto__(在某些浏览器中),但已被其他方法取代。 -
@RobG polyfill 需要
new和__proto__从未被远程标准化。
标签: javascript oop prototype