JavaScript 中仍然不推荐“new”吗?

2024-02-25

所以我看到很多 JavaScript 代码在创建构造函数时使用“new”。在阅读了 JavaScript the Good Parts 的一部分之后,似乎使用“new”并不是猫的睡衣。那是4年前的事了……还是不推荐吗?目前的标准是什么?


从什么时候开始new不建议? D. Crockford 的观点有道理,意见也很强烈,但是new是该语言的一部分,并且在许多项目中得到广泛使用。new是原型继承模型的一部分,必须用于通过构造函数创建新实例。 Crockford 指出了一种纯粹的函数式方法,使用this适当的上下文和return this能够在子对象之间继承属性和方法。这是对常见问题的不同解决方案,但这并不意味着new不应该使用。事实上,有史以来复制/粘贴最多的 JS 片段之一是 Crockford 的,object.createpolyfill,它使用new:

if (typeof Object.create !== 'function') {
    Object.create = function (o) {
        function F() {}
        F.prototype = o;
        return new F();
    };
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 中仍然不推荐“new”吗? 的相关文章

随机推荐