在 JavaScript 中将普通对象转换为类实例
在 JavaScript 中,当从服务器接收普通对象作为 JSON 响应时,您可能会遇到需要将它们转换为类型化的类实例。这允许您访问特定于类的方法和属性。
解决方案:
一种方法是创建一个构造函数,该构造函数接受任何类似于实例的对象并克隆它。或者,您可以实现将对象转换为实例的静态方法:
<code class="javascript">Person.fromJSON = function(obj) { // Custom code to create an instance from the object return ...; };</code>
对于您的特定场景,如果您有具有公共属性的普通对象,您可以使用以下方法:
<code class="javascript">var personInstance = new Person(); for (var prop in personLiteral) { personInstance[prop] = personLiteral[prop]; }</code>
这会将普通对象的所有属性分配给新创建的实例。同样,您可以创建 Animal 实例。
注意:
示例代码:
<code class="javascript">var persons = JSON.parse(serverResponse); for (var i = 0; i < persons.length; i++) { persons[i] = Object.assign(new Person(), persons[i]); // Use Object.assign for browsers that support it for (var j = 0; j < persons[i].animals; j++) { persons[i].animals[j] = Object.assign(new Animal(), persons[i].animals[j]); } }</code>
此代码将使您能够使用特定于类的方法,例如 Persons[0].Animals[2].Run();.
以上是如何在 JavaScript 中将普通 JSON 对象转换为类实例?的详细内容。更多信息请关注PHP中文网其他相关文章!