Ich möchte moment.js
erweitern, um seine toJSON
Funktion zu überschreiben.Wie zu verlängern Moment 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"}
Mein Problem ist, dass in diesem Fall, den ich nicht m2()
ohne new
anrufen:
const json3 = {
date: m2(), // TypeError: Class constructor m2 cannot be invoked without 'new'
};
Wie kann ich es moment
verlängern während der Fähigkeit zu nennen, ohne das new
Stichwort?
Überschreiben moment.prototype.toJSON
ist keine Option, weil ich das Standardobjekt moment
an anderer Stelle im Code verwenden möchte.
verwenden würden, warum Sie keine Hilfsfunktion verwenden, um dies zu erreichen? –