类中有以下变量:
public searchText: string;
在TypeScript中启用严格模式时,我看到以下错误:
Property 'searchText' has no initializer and is not definitely assigned in the constructor
事实上,当我像这样放置''
时:
public searchText: string = "";
它解决了我的问题,但是为什么默认定义字符串已经是空字符串?
答案 0 :(得分:1)
如果您未在javascript中为变量分配值,则变量中包含“未定义”值。
如果您喜欢这样,在这里
public searchText: string;
然后searchText=undefined
,而不是一个空字符串。您可以做控制台日志,您将得到未定义的
答案 1 :(得分:0)
您可以“标记”属性如何为空。
public searchText?: string;
或更改tsconfig.ts以接受未初始化的属性。 删除此行中的注释并设置为false。
"strictPropertyInitialization": false