typescript/array-type Style
它的作用
要求始终一致地使用 T[] 或 Array<T> 来表示数组。
为什么这不好?
直接使用 Array 类型并不符合惯用写法。应改为使用数组类型 T[] 或 Array<T>。
示例
以下是此规则的错误代码示例(使用默认配置):
typescript
const arr: Array<number> = new Array<number>();
const readonlyArr: ReadonlyArray<number> = [1, 2, 3];以下是此规则的正确代码示例(使用默认配置):
typescript
const arr: number[] = new Array<number>();
const readonlyArr: readonly number[] = [1, 2, 3];配置
此规则接受一个包含以下属性的配置对象:
default
type: "array" | "array-simple" | "generic"
default: "array"
可变情况所期望使用的数组类型。
"array"
强制所有数组类型都使用 T[]。
此选项的错误代码示例:
ts
const arr: Array<number> = new Array<number>();此选项的正确代码示例:
ts
const arr: number[] = new Array<number>();"array-simple"
简单类型强制使用 T[],复杂类型强制使用 Array<T>。
此选项的错误代码示例:
ts
const a: (string | number)[] = ["a", "b"];
const b: { prop: string }[] = [{ prop: "a" }];
const c: Array<MyType> = ["a", "b"];
const d: Array<string> = ["a", "b"];此选项的正确代码示例:
ts
const a: Array<string | number> = ["a", "b"];
const b: Array<{ prop: string }> = [{ prop: "a" }];
const c: string[] = ["a", "b"];
const d: MyType[] = ["a", "b"];"generic"
强制所有数组类型都使用 Array<T>。
此选项的错误代码示例:
ts
const arr: number[] = new Array<number>();此选项的正确代码示例:
ts
const arr: Array<number> = new Array<number>();readonly
type: "array" | "array-simple" | "generic"
default: null
只读情况所期望使用的数组类型。如果省略,则使用 default 的值。
如何使用
To enable this rule using the config file or in the CLI, you can use:
json
{
"rules": {
"typescript/array-type": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
rules: {
"typescript/array-type": "error",
},
});bash
oxlint --deny typescript/array-type版本
此规则在 v0.2.8 中添加。
