![](/img/trans.png)
[英]what is the proper way to implement this routine with reduce() function?
[英]What is the proper way to implement a 'toJson' function in TypeScript?
我有一個自定義的 class,我需要一個toJson
function。當然,我可以只實現一個名為Foo.toJson
或Foo.toJsonObject
或 Foo.jsonify 的Foo.jsonify
。
但是這樣做的標准方法是什么? 我還看到了一些包含serializer
的示例。 我需要那么遠的 go 嗎?
基本上我希望能夠完成這項工作:
const foo = new Foo();
fse.writeJson('file.json', foo);
但是對於數據庫連接,我還需要能夠手動創建一個 json 表示:
const foo = new Foo();
db.writeObject(foo.toJson());
假設你不能只修改原來的 class:
例如:
class Foo {
public date: Date;
constructor(date: Date) {
this.date = date;
}
log() {
console.log(this.date.toISOString());
}
}
type ExtendedFoo = Foo & {
toJSON: () => string;
}
const x = new Foo(new Date);
(x as ExtendedFoo).toJSON = function () {
return `"\\/Date(${+this.date})\\/"`
}
x.log();
console.log(x);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.