首页 > 解决方案 > 有什么 Object.create() 可以做而工厂函数不能做的事情吗?

问题描述

Douglas Crockford 编写了Object.create()规范。

但是我读到他不再使用它。

...他也停止使用 Object.create (尽管它只是为他添加到语言中)。

Douglas Crockford 在 2014 年谈到 JavaScript 的新优点

如果 Crockford 不再使用 Object.create() 是否需要?它提供的任何东西不能以某种方式通过工厂功能复制吗?

标签: javascriptobject

解决方案


object.create 功能归结为:

Object.create = function(someObj){
    function noOP(){
    };
    noOP.prototype = someObj;
    return new noOP;
}

目的是创建一个对象,您可以在不修改上游原型的情况下添加内容。它被设计为一种快捷方式。所以没有什么 Object.create 可以做工厂函数(或任何函数)做不到的。做任何能引起你共鸣的事情。


推荐阅读