Angular2+中Property 'length' does not exist on type 'never' 问题的原因与解决办法

今天写代码时,系统突然报了一个Property 'length' does not exist on type 'never' 的错误,这样的关键字,网上很难直接找到答案。因此放弃查找,自己解决。

这个问题比较奇怪,究其原因就是在一个公用的类里面定义了一个常量,常量赋的值为空字符串,类的代码如下:

export class AppConfig {
  public readonly apiUrl = 'http://localhost:35549';
  public readonly fileDbApiUrl = 'http://localhost:35549';
  public readonly relativeUrlPath = '';
}

出错的就是relativeUrlPath这个属性。

分析问题原因:此处,声明并定义了常量relativeUrlPath,为其赋值''。在此处,tslint把指向''的常量识别为了类别never。因此,只需指定常量relativeUrlPath的类型就可以了。

 

export class AppConfig {
  // 调试环境
  public readonly apiUrl = 'http://localhost:35549';
  public readonly fileDbApiUrl = 'http://localhost:35549';
  public readonly relativeUrlPath: string = '';
}

 

上一篇:typeScript学习随笔(一)


下一篇:'scope' is defined but never used