deno.com

禁止类型

注意:此规则是 recommended 规则集的一部分。
deno.json 中启用完整集合
{
  "lint": {
    "rules": {
      "tags": ["recommended"]
    }
  }
}
使用 Deno CLI 启用完整集合
deno lint --rules-tags=recommended
此规则可以通过将其添加到 deno.json 中的 includeexclude 数组中,从当前标签的规则中显式包含或排除。
{
  "lint": {
    "rules": {
      "include": ["ban-types"],
      "exclude": ["ban-types"]
    }
  }
}

禁止使用基本类型包装对象(例如,String 对象是基本类型 string 的包装),以及非显式的 Function 类型和易被误解的 Object 类型。

很少有情况下需要基本类型包装对象,更多情况下是基本类型的使用出了错误。此外,您也无法将基本类型包装对象赋值给基本类型,这会导致后续出现类型问题。参考 TypeScript 手册,其中也指出我们不应该使用这些包装对象。

对于 Function,最好显式定义完整的函数签名,而不是使用非特指的 Function 类型,因为后者不会为函数提供类型安全。

最后,Object{} 表示“任何非 null 值”,而不是“任何对象类型”。object 是表示“任何对象类型”的良好选择。

无效示例

let a: Boolean;
let b: String;
let c: Number;
let d: Symbol;
let e: Function;
let f: Object;
let g: {};

有效示例

let a: boolean;
let b: string;
let c: number;
let d: symbol;
let e: () => number;
let f: object;
let g: Record<string, never>;

您找到所需内容了吗?

隐私政策