使用特定原型创建一个空对象

时间:2015-12-11 05:51:21

标签: javascript class oop object

我正在将经典OOP项目转换为JS。一切顺利,我只需要知道我使用的其中一种方法是否采用速记/传统方式来实现与之相同的方法。

在我的设计中,我需要使用特定原型创建一个空对象。我使用了一个空虚拟函数作为constructor因为我需要一个空对象。我无法使用new Object(),因为我需要在创建之前附加原型。

这是我的代码:

var baseObj = {name: '', id: 0}

function emptyObj () {
    //this is really a dummy
}

emptyObj.prototype = Object.create(baseObj);

myUser = new emptyObj();

请注意我必须遵循这种模式,我的项目非常适合它。我只想知道是否有一个简写/传统方法来创建一个带有原型的空对象。

请坚持使用ES5。

1 个答案:

答案 0 :(得分:1)

  

我只想知道是否有一个简写/传统方法来创建一个带有原型的空对象

是的,有一个可以做到这一点。而且你已经使用过了。它被称为Object.create

您的代码完全等同于

var baseObj = {name: '', id: 0};
myUser = Object.create(Object.create(baseObj));

我不确定你是否真的打算进行这种两级继承,或者单个调用是否足够。

相关问题