JSON.stringify忽略自定义类的属性时,它不是在构造函数中

问题描述:

宣布我定义的类:JSON.stringify忽略自定义类的属性时,它不是在构造函数中

export class SavedData{ 
    public isDone : boolean; 
} 

,并试图字符串化它:

console.log(new SavedData()); 

,但不包括isDone属性

{} 

,我需要移动isDone构造器:

export class SavedData{ 
    constructor(public isDone : boolean){ 
    } 
} 

是成功的:

{"isDone":false} 

它为什么会发生?并且有可能将一个类属性串化而不将其声明为构造函数?

+0

请问,如果你明确地调用'JSON.stringify'工作? – jonrsharpe

它的工作,如果你有一个默认值初始化

export class SavedData{ 
    public isDone : boolean = null; // or = false; 
}