javascript - 在node.js中使用es6类有用吗?

标签 javascript node.js requirejs es6-class

我只是在处理 Node.js 项目时想知道。我应该声明 classfunction ,例如全局使用它,如 let task = new Task(params);

我正在考虑两种不同的方式来处理类

案例:无类

'use strict'

/**
 *
 * @param taskId
 * @param timeStamp
 * @constructor
 *
 */
function task(taskId, timeStamp) {

  this.taskId = taskId;
  this.timeStamp = timeStamp;
}

/**
 *
 * type {task}
 *
 */
module.exports = task;

我需要task.jslet task = require('./task.js');某处。例如globals.js ,女巫需要为let gapp.js .

无论如何,它就像一个魅力,在其他地方创建一个新的 Task就像我上面写的:let task = new g.task('someTaskId', varForTStamp);


案例:类

'use strict'

/**
 *
 * @constructor
 *
 */
function task() {

  class Task {
    
    /**
     *
     * @param taskId
     * @param timeStamp
     */
     constructor(taskId, timeStamp) {

       this.taskId = taskId;
       this.timeStamp = timeStamp;
     }

     //in task is no get or set method needed
   }

/**
 *
 * type {task}
 *
 */
 module.exports = task;

这里也是同样的事情。给其他地方打电话 new Task通过使用相同的要求和定义。

如果我必须使用get(),我是否必须声明一个类?和set()方法?即使我需要与get()一起工作也不行和set() ,我必须使用class 。它的工作方式与class中的相同。 。 两种方式都运行良好,没有任何问题或异常。

但是requireJSnode.js后台发生了什么?我应该使用某种技术来编写清晰的代码以获得更好的性能吗?

是否有更好的方法来处理 Node.js 项目中的新对象?您如何管理并处理这种差异?

最佳答案

您通常不需要从函数(您的第二个代码片段)返回类。您可以直接导出类。

这可能是最好的方法:

测试.js:

class Test{
  constructor(info){
    this._info=info;
  }

  getInfo(){
    return this._info;
  }
}

module.exports=Test;

main.js:

const Test=require('./test');
const myTest=new Test("hello");
const myOtherTest=new Test("world");
console.log(myTest.getInfo());
console.log(myOtherTest.getInfo());

此外,您不必使用 global.js 文件。例如,而不是这样做

const g=require('./global');
const myTest=new g.Test("abc");

您应该直接要求测试:

const Test=require('./test');
const myTest=new Test("abc");

关于javascript - 在node.js中使用es6类有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52021468/

相关文章:

javascript - 通过 AJAX 和 javascript 抓取屏幕

javascript - 如何为 canjs 模板制作动画

javascript - 是否使用 RequireJS

javascript - 如何阻止用户在 Angular 的文本框中输入 URL

javascript - 调用 jQuery-ui 插件中的函数有错误的上下文?

node.js - NodeJS/ExpressJS 上的 Sequelize 在运行 CLI 命令 db :migrate 时返回错误

javascript - 让音频适用于所有浏览器

mysql - Nodejs breeze-sequelize with MySQL - .select() 不工作

jquery - RequireJS 和 Jquery - 一个文件中有多个模板?

javascript - 如何通过 RequireJS 加载 jQuery Migrate for jQuery?