创建实例化类

时间:2017-09-07 19:50:25

标签: javascript

在JavaScript中是否有任何静态方式来表示实例化类的值?

下面我有两个函数myDeskViaLiteralmyDeskViaObject

function myDeskViaLiteral({laptop}) {
    return laptop.status
}

function myDeskViaObject({laptop}) {
    return laptop.getStatus()
}

我们还有一个班级Laptop

class Laptop {
    constructor ({status}) {
        this.status = status
    }
    getStatus() {
        return this.status
    }
}

现在myDeskViaLiteral作为一个函数非常简单。

let laptop = {status: 'on'}
myDeskViaLiteral({laptop})

例如,可以轻松捕获输入和输出/快照/表示为静态JSON数据。

{
    "input": [{"status": "on"}],
    "output": "on"
}

但是当我们使用myDeskViaObject并将laptop实例传递给它时,这一切都变得更加复杂:

let laptop = new Laptop({status: 'on'})
myDeskViaLiteral({laptop})

在这种情况下,将myDeskViaLiteral的输入表示为字符串或静态数据是不可能的(对我的知识)。

我正在寻找的是一种将myDeskViaLiteral的输入和输出表示为静态json的方式,可能是一种可以声明state实例的laptop的语法,和#34;回放" (在某种情况下)。允许我们创建对象实例的快照,然后再次对其进行保湿。

这样的事情:

{
    "input": [{
        "class": "Laptop",
        "state": {
            "status": "on"
        }
    }],
    "output": "on"
}

然后将输入包装在一个函数中,该函数将从静态数据创建一个实际的类实例。

是否有任何标准允许您创建实例化类的静态表示?

0 个答案:

没有答案