gpt4 book ai didi

javascript - JavaScript/Node 中的数据模型定义标准

转载 作者:行者123 更新时间:2023-11-29 21:53:44 25 4
gpt4 key购买 nike

我最近开始使用 JavaScript(服务器端)和 Node.js 进行编程。我来自 Java 背景,那里有一个关于如何定义数据对象的具体标准,即 Java Bean。我们在 JavaScript/Node 中是否有关于我们如何定义数据对象(类似于 Java Bean)的任何此类标准?

查了很多地方都没有找到标准。我见过以下样式,但不确定哪个更好或推荐哪个:

//bean1.js
module.exports = function() {
var obj = {};
obj.name = '';
obj.department = '';

return obj;

}

//bean2.js
module.exports = function() {

this.name = '';
this.department = '';

return this;

}

//bean3.js
module.exports = function(param) {
var obj = {};

if(param === undefined) {
return obj;
}

obj.name = param.name;
obj.department = param.department;

return obj;

}

//bean4.js
module.exports = {
name : '';
department : '';
}

最佳答案

因此,基于来自 Node/JavaScript 社区的一些人的更多研究、研究和回答,我想我对如何创建数据对象以及上述 4 种样式之间的差异有了更清晰的了解(请参阅上面问题中的代码片段) 创建对象。

根据答案,JavaScript 没有任何关于创建数据对象的标准(与 Java Bean 规范相比)。它更像是一种自由风格,取决于您需要创建哪种对象的用例,即单例或更多动态对象(多个新实例)。

因此,如果您需要一个简单的对象而不创建该对象的新实例,那么 beanjs.4 是创建数据对象的最佳示例。这很简单,但限制是创建的对象是 Singleton,您不能从该对象定义创建新实例。

//bean4.js
module.exports = {
name : '';
department : '';
}

如果您的用例是创建多个新实例,则使用可以返回对象的函数。在上面的问题中,bean1.js、bean2.js 和 bean3.js 都在做同样的事情,其中​​任何一个都可以用来创建新对象。使用函数返回对象被称为“生成器”或“工厂”或“伪构造函数”。

这里是一个使用函数返回对象的例子(工厂模式):

function Person(firstName, lastName) {
var person = {};

person.firstName = firstName;
person.lastName = lastName;

return person;

}

var person = new Person('foo', 'bar'); //create object from Person

要阅读有关此问题的详细讨论,请访问此链接:https://groups.google.com/forum/#!topic/nodejs/Drezeitaxbc

关于javascript - JavaScript/Node 中的数据模型定义标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27585558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com