【问题标题】:Array type using Array<T> is forbidden禁止使用 Array<T> 的数组类型
【发布时间】:2018-10-23 11:03:08
【问题描述】:

我的 Ttslint 使用这种构造抛出警告(禁止使用 Array 的数组类型。使用 T[] 代替(数组类型)):

Array<string | null> | null

这是对前一个的正确替换吗?

(string | null)[] | null

【问题讨论】:

  • 是的,但如果你愿意,你可以忽略警告:)
  • 谢谢!但在变体中,它会是这样的:string[] | null[] | null 它会像:仅数组或字符串,或仅空数组,或空(无数组)。我说的对吗?
  • 是的,你是:)。

标签: javascript arrays typescript


【解决方案1】:

是的,这就是array-type 规则在设置为"array" 时强制执行的行为:

必须提供以下参数之一:
* "array" 强制对所有类型 T[] 使用 T
* "generic" 强制对所有类型使用数组 T
* 如果T 是简单类型(原始类型或类型引用),则"array-simple" 强制使用T[]

您可以通过在与文件相同的文件夹(或文件的父文件夹)中创建tslint.json 文件并在其中写入以下内容来禁用整个文件的规则:

"rules": {
    "array-type": false
}

如果您想选择其他设置之一:

"rules": {
    "array-type": [true, "generic"]
}

而且,正如您在问题中提到的,相当于:

Array<string | null> | null

是:

(string | null)[] | null

【讨论】:

  • 对于typescript-eslint,只需要在eslint文件中添加这条规则:'@typescript-eslint/array-type': ['error', { default: 'array' }],
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-23
  • 1970-01-01
  • 2020-05-21
  • 2017-12-05
  • 1970-01-01
  • 2014-09-26
  • 1970-01-01
相关资源
最近更新 更多