属性“ searchText”没有初始化程序,是否在构造函数中未明确分配?

时间:2019-08-09 08:52:44

标签: typescript typescript2.0

类中有以下变量:

public searchText: string;

在TypeScript中启用严格模式时,我看到以下错误:

Property 'searchText' has no initializer and is not definitely assigned in the constructor

事实上,当我像这样放置''时:

public searchText: string = "";

它解决了我的问题,但是为什么默认定义字符串已经是空字符串?

2 个答案:

答案 0 :(得分:1)

  

如果您未在javascript中为变量分配值,则变量中包含“未定义”值。

如果您喜欢这样,在这里

public searchText: string;

然后searchText=undefined,而不是一个空字符串。您可以做控制台日志,您将得到未定义的

答案 1 :(得分:0)

您可以“标记”属性如何为空。

public searchText?: string;

或更改tsconfig.ts以接受未初始化的属性。 删除此行中的注释并设置为false。

"strictPropertyInitialization": false