在JavaScript中定义静态类属性
在Node.js的JavaScript ES6中定义静态类私有属性的最佳实践方法是什么 我有以下在JavaScript中定义静态类属性,javascript,node.js,Javascript,Node.js,在Node.js的JavaScript ES6中定义静态类私有属性的最佳实践方法是什么 我有以下Log课程: 'use strict'; const moment = require('moment'); const LOG_DATE_FORMAT = 'YYYY-MM-DDTHH:mm:ss.SSSZ'; module.exports = class { static debug(txt) { console.log(`${moment().utc().format
Log
课程:
'use strict';
const moment = require('moment');
const LOG_DATE_FORMAT = 'YYYY-MM-DDTHH:mm:ss.SSSZ';
module.exports = class {
static debug(txt) {
console.log(`${moment().utc().format(LOG_DATE_FORMAT)} [debug] ${txt}`);
}
static info(txt) {
console.info(`${moment().utc().format(LOG_DATE_FORMAT)} [info] ${txt}`);
}
static warn(txt) {
console.warn(`${moment().utc().format(LOG_DATE_FORMAT)} [warn] ${txt}`);
}
static error(txt) {
console.error(`${moment().utc().format(LOG_DATE_FORMAT)} [error] ${txt}`);
}
};
是否在
模块外部定义时刻
和日期格式
。导出
,从而类定义是正确的方法?是的,这是一种可接受的方法。由于您希望定义在所有静态方法中共享的一些变量,因此基本上有四种选择:
因此,它归结为选项1或选项2,选择哪一个完全取决于您是否希望其值在模块外部可访问。如果还希望导出它们,则将它们设置为类上的静态属性,并使用类前缀引用它们。如果您只想在模块内部使用它们,那么您所做的就是完美的。是的,这是一种可以接受的做事方式。您在多个函数之间共享一些变量,因此您必须在更高的范围内定义它们,以便所有函数都可以访问它们。为什么不也导出变量?@Justin-这回答了您的问题吗?