javascript - 在 node.js 中使用 es6 类有用吗?
问题描述
我只是想知道在处理 node.js 项目时。我应该class
在 a 中声明 a 以在function
全局范围内使用它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.js
在let task = require('./task.js');
某个地方。例如,在 中globals.js
,witch 是必需let g
的app.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
使用相同的要求和定义在其他地方调用 a 。
如果我必须使用get()
和set()
方法,我是否必须声明一个类?即使我需要使用get()
and set()
,我也必须使用class
. 它的工作方式与class
. 两种方式都运行良好,没有问题或异常。
但是requireJS,node.js的后台发生了什么?我应该使用某种技术来编写清晰的代码以获得更好的性能吗?
有没有更好的方法来处理 node.js 项目中的新对象?您如何管理和处理这种差异?
解决方案
您通常不需要从函数(您的第二个代码片段)返回类。您可以直接导出类。
这可能是最好的方法:
测试.js:
class Test{
constructor(info){
this._info=info;
}
getInfo(){
return this._info;
}
}
module.exports=Test;
主.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");
推荐阅读
- sqlite - 如何优化 firebase/firestore 以获得大型在线数据库的合理同步工具?
- arrays - 使用 find 过滤带有两个参数的数组
- mysql - MySQL 5.7 时间戳字段显示日期时间?
- javascript - 如何将 JavaScript 定向到满意的 IF 语句上的函数?进度条完成后尝试修复警报循环
- mysql - 尝试创建按 ID 查找玩家的查找函数时重复出现语法错误
- java - 未解决的类“@string/appbar_scrolling_view_behavior”
- c - “如何让我的程序从文件中读取可见字符和空格
- ruby - Ruby - rspec 如何在项目的根目录中包含规范?
- php - 我的 php 程序在其中一个字段中插入 0 而不是字符串
- java - 如何从控制器 POST 请求更新视图中的某些属性