在 JavaScript 中仍然不推荐“新”吗?
Is "new" still not recommended in JavaScript?
本文关键字:JavaScript 更新时间:2023-09-26
所以我看到很多JavaScript代码在制作构造函数时使用"new"。在阅读了JavaScript the Good Parts的一部分之后,似乎使用"new"并不是猫的睡衣。不过那是4年前的事了...还是不推荐吗?现行标准是什么?
从什么时候开始不推荐new
? D. Crockford有一个有效的观点和强烈的意见,但new
是语言的一部分,它在许多项目中被大量使用。 new
是原型继承模型的一部分,必须用于创建具有构造函数的新实例。Crockford 指出了一种纯函数式方法,该方法适当地使用this
上下文,并return this
能够在子对象之间继承属性和方法。这是常见问题的不同解决方案,但这并不意味着不应使用new
。事实上,有史以来复制/粘贴最多的JS片段之一是Crockford的,object.create
polyfill,它使用new
:
if (typeof Object.create !== 'function') {
Object.create = function (o) {
function F() {}
F.prototype = o;
return new F();
};
}
自 2008 年以来,除了受 Crockford 影响的 ECMAScript 5 Object.create
之外,没有任何太大变化: new
仍然具有道格拉斯·克罗克福德(Douglas Crockford)强烈指出的相同行为和缺点。我自己的观点是,他相当夸大了问题,让开发人员反对一个有用的运算符,所以我继续使用它而没有问题;我建议其他开发人员下定决心,而不是盲目地内化和反刍(公认的令人钦佩的)Crockford。
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 这是什么 ==- javascript 运算符
- 从javascript创建一个列表
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在Javascript中将JSon对象转换为数组
- Javascript生成的表单未提交
- 使用javascript将动态表从一个html页面打印到另一个html页
- 通过javascript重定向html传递php变量