javascript - JavaScript 中的多个构造函数(重载)

标签 javascript node.js oop express

我有一个名为 Account_Model.js 的模型,其中包含用于创建、读取、更新和删除 (CRUD) 用户帐户的查询。我需要不同的构造函数(要创建和更新,我需要将用户名、全名、密码等传递给构造函数,但当我想删除用户帐户时,我只需要传递用户名)。

var connection = require('../config/db.js');

class Account_Model{
    constructor(params){
      this.username = params.username,
      this.fullname = params.fullname,
      this.password = params.password
}
}
getData(){}....

这是一个好的做法吗?因为当我删除用户时,我只在 Account_Model 实例中传递用户名,并将全名和密码保留为空。谢谢

最佳答案

所以 ES6 不允许你有多个构造函数,也不允许重载方法。

您传递对象并仅填充某些字段的方式是完全有效的,并且在许多 NPM 模块中都可以看到。

您还可以查看此示例,该示例显示了通过检查传入参数的长度来处理传入的多个参数的不同方式: Why doesn't JavaScript ES6 support multi-constructor classes?

关于javascript - JavaScript 中的多个构造函数(重载),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50291548/

相关文章:

java - 如何在 cactoos 的空白字符串之后从文件中检索字符串?

javascript - 来自 JSON 数据的 Google map 标记未呈现标记

node.js - 如何在node.js上集成redis-sentinel-client和socket.io?

c++ - C++如何在内部实现多态性?

oop - 为对象或 Action /行为创建界面?

node.js - 如何为 msbuild.exe 指定额外的包含目录

javascript - 在发送 ajax 同步请求之前显示 html 元素

javascript - 来自数据库的 PHP 验证

javascript - jQuery:点击div上的指示器

node.js - Webhooks 的 NodeJS 监听器返回空主体