Node.jsのJavaScript ES6で静的クラスのプライベートプロパティを定義するベストプラクティスの方法は何ですか?JavaScriptで静的クラスのプロパティを定義する
私は、次の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}`);
}
};
は、これを行うための正しい方法をmodule.exports
のmoment
とDATE_FORMAT
外側を定義するため、クラス定義されていますか?
はい、これは許容できる方法です。複数の関数間でいくつかの変数を共有しているので、すべての関数がそれらにアクセスできるように、それらをより高いスコープで定義する必要があります。 – jfriend00
変数をエクスポートしないのはなぜですか? – wrangler