javascript - 有什么 Object.create() 可以做而工厂函数不能做的事情吗?
问题描述
Douglas Crockford 编写了Object.create()规范。
但是我读到他不再使用它。
...他也停止使用 Object.create (尽管它只是为他添加到语言中)。
Douglas Crockford 在 2014 年谈到 JavaScript 的新优点
如果 Crockford 不再使用 Object.create() 是否需要?它提供的任何东西不能以某种方式通过工厂功能复制吗?
解决方案
object.create 功能归结为:
Object.create = function(someObj){
function noOP(){
};
noOP.prototype = someObj;
return new noOP;
}
目的是创建一个对象,您可以在不修改上游原型的情况下添加内容。它被设计为一种快捷方式。所以没有什么 Object.create 可以做工厂函数(或任何函数)做不到的。做任何能引起你共鸣的事情。
推荐阅读
- python - 我无法使用 python 抓取表格的 tr 标签
- typescript - 最初未定义的值具有繁琐的初始化语法
- javascript - 如何在javascript的引导数据表中将参数字符串转换为列或已知对象
- firebase - Flutter Driver Location Track by admin
- java - 如何在对象值的 ArrayList 中找到第二高的数字
- php - 从 Google 驱动器身份验证重定向后不可接受的链接
- powershell - 为什么带通配符的get-childitem不好用?
- r - 在 Mac 上更改 R 版本的 shell
- c# - 如何在 C# 中使用 IP 地址在热敏打印机(80 毫米)中打印 RDLC 报告
- csv - Lua - 从 .csv 文件中删除空白行行或在处理时跳过它们?