useConsistentArrayType
Diagnostic Category: lint/style/useConsistentArrayType
Since: v1.5.0
Sources:
- Same as:
@typescript-eslint/array-type
Require consistently using either T[]
or Array<T>
TypeScript provides two equivalent ways to define an array type: T[]
and Array<T>
.
The two styles are functionally equivalent.
Using the same style consistently across your codebase makes it easier for developers to read and understand array types.
Example
Section titled ExampleInvalid
Section titled Invalidcode-block.ts:1:14 lint/style/useConsistentArrayType FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Use shorthand T[] syntax instead of Array<T> syntax.
> 1 │ let invalid: Array<foo>;
│ ^^^^^^^^^^
2 │
ℹ Unsafe fix: Use shorthand T[] syntax to replace
1 │ - let·invalid:·Array<foo>;
1 │ + let·invalid:·foo[];
2 2 │
code-block.ts:1:22 lint/style/useConsistentArrayType FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Use shorthand T[] syntax instead of Array<T> syntax.
> 1 │ let invalid: Promise<Array<string>>;
│ ^^^^^^^^^^^^^
2 │
ℹ Unsafe fix: Use shorthand T[] syntax to replace
1 │ - let·invalid:·Promise<Array<string>>;
1 │ + let·invalid:·Promise<string[]>;
2 2 │
code-block.ts:1:15 lint/style/useConsistentArrayType FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ Use shorthand T[] syntax instead of Array<T> syntax.
> 1 │ let invalid3: Array<Foo<Bar>>;
│ ^^^^^^^^^^^^^^^
2 │
ℹ Unsafe fix: Use shorthand T[] syntax to replace
1 │ - let·invalid3:·Array<Foo<Bar>>;
1 │ + let·invalid3:·Foo<Bar>[];
2 2 │
Valid
Section titled ValidOptions
Section titled OptionsThe rule provides two options that help to specify what type of array declarations to use.
Default: “shorthand”
Syntax
Section titled SyntaxBy default, all array declarations will be converted to T[]
or readonly T[]
, which it means shorthand
,
or if the options is set to the “generic”, that all will converted to Array<T>
or ReadonlyArray<T>
.