moment.js
を拡張して、それをtoJSON
関数より優先したいと思います。モーメントjsを拡張するには?
const moment = require('moment');
class m2 extends moment {
constructor(data) {
super(data);
this.toJSON = function() {
return 'STR';
};
}
}
const json = {
date: moment(),
};
const json2 = {
date: new m2(),
};
console.log(JSON.stringify(json)); // {"date":"2017-07-25T13:36:47.023Z"}
console.log(JSON.stringify(json2)); // {"date":"STR"}
私の問題は、この場合には、私はnew
なしm2()
を呼び出すことはできません、ということです。
const json3 = {
date: m2(), // TypeError: Class constructor m2 cannot be invoked without 'new'
};
new
キーワードを指定せずに、それを呼び出す機能を維持しながら、どのように私はmoment
を拡張することができますか?
オーバーライドmoment.prototype.toJSON
は、デフォルトのmoment
オブジェクトをコードの別の場所で使用したいので、オプションではありません。
を使用するよう
そして、それを使うのか? –