Typescript变量赋值导致linting错误

时间:2017-01-17 09:28:40

标签: typescript

我对以下使用的打字稿数组有疑问。这一切都很好但是当我通过linter运行时我得到以下错误,我的任务显然是错误的。

  

阵列类型使用'数组'禁止使用简单类型。使用' T []'   代替。

 export let data = [
  {
    "property": "value"
  }
 ];

export interface myInterface {
    property: string;
};

protected _collection: Array<myInterface>;

感谢任何帮助。

3 个答案:

答案 0 :(得分:8)

linter可能只是希望你这样做:

protected _collection: myInterface[];

类型myInterface[]Array<myInterface>是等价的,但是linter似乎更喜欢第一种。

答案 1 :(得分:2)

似乎错误堆栈跟踪未完成。完整的句子是

  

Array type using 'Array<T>' is forbidden. Use 'T[]' instead.

你必须在SO上编码格式。而linter的原因在于palantir的源代码

https://github.com/palantir/tslint/blob/master/src/rules/arrayTypeRule.ts#L81-L82

他们希望您一般不要使用Array<T>。相反,你必须像这样使用它

protected _collection: myInterface[];

这更像是他们的偏好。

答案 2 :(得分:1)

使用[]代替数组类型。

protected _collection: myInterface[];

如果要使用Array类型,则应该禁用tslint规则。