Skip to content

JavaScript 规则

以下是 Biome 支持的规则列表,按组划分。以下是表情符号的图例:

¥Below the list of rules supported by Biome, divided by group. Here’s a legend of the emojis:

  • 图标 表示该规则是推荐规则的一部分。

    ¥The icon indicates that the rule is part of the recommended rules.

  • 图标 表示该规则提供了可以安全应用的代码操作(修复)。

    ¥The icon indicates that the rule provides a code action (fix) that is safe to apply.

  • 图标 表示该规则提供了不安全应用的代码操作(修复)。

    ¥The icon indicates that the rule provides a code action (fix) that is unsafe to apply.

  • 图标 表示该规则已实现并计划在下一个版本中发布。

    ¥The icon indicates that the rule has been implemented and scheduled for the next release.

规则名称描述属性
noAccessKey强制不在任何 HTML 元素上使用 accessKey 属性。
noAriaHiddenOnFocusable强制可聚焦元素上未设置 aria-hidden=“true”。
noAriaUnsupportedElements强制不支持 ARIA 角色、状态和属性的元素不具有这些属性。
noAutofocus强制元素上未使用 autoFocus prop。
noDistractingElements强制不使用分散注意力的元素。
noHeaderScope范围属性应仅用于 <th> 元素。
noInteractiveElementToNoninteractiveRole强制不将非交互式 ARIA 角色分配给交互式 HTML 元素。
noLabelWithoutControl强制标签元素或组件具有文本标签和相关输入。
noNoninteractiveElementInteractions禁止在非交互式元素上使用事件处理程序。
noNoninteractiveElementToInteractiveRole强制不将交互式 ARIA 角色分配给非交互式 HTML 元素。
noNoninteractiveTabindex强制将 tabIndex 分配给具有 的非交互式 HTML 元素。
noPositiveTabindex防止在 tabIndex 属性上使用正整数
noRedundantAlt强制 img alt prop 不包含单词 “image”、“picture” 或 “photo”。
noRedundantRoles强制默认函数参数和可选函数参数位于最后。
noStaticElementInteractions强制具有点击处理程序的静态可见元素(例如 <div>)使用有效的角色属性。
noSvgWithoutTitle强制对 svg 元素使用 title 元素。
useAltText强制所有需要替代文本的元素都具有有意义的信息以传递回终端用户。
useAnchorContent强制锚点具有内容,并且内容可供屏幕阅读器访问。
useAriaActivedescendantWithTabindex强制 tabIndex 元素具有 aria-activedescendant 属性。
useAriaPropsForRole强制具有 ARIA 角色的元素必须具有该角色所需的所有 ARIA 属性。
useAriaPropsSupportedByRole强制 ARIA 属性对于元素支持的角色有效。
useButtonType强制对元素 button 使用属性 type
useFocusableInteractive具有交互角色和交互处理程序的元素必须是可聚焦的。
useHeadingContent强制标题元素(h1、h2 等)具有内容,并且内容可供屏幕阅读器访问。可访问意味着它不会使用 aria-hidden 属性隐藏。
useHtmlLang强制 ARIA 状态和属性值有效。
useIframeTitle强制对元素 iframe 使用属性 title
useKeyWithClickEvents强制整个代码库的所有内容的命名约定。onKeyUp, onKeyDown, onKeyPress.
useKeyWithMouseEvents强制 onMouseOver / onMouseOut 伴随 onFocus / onBlur
useMediaCaption强制 audiovideo 元素必须具有 track 作为标题。
useSemanticElements它检测 JSX 元素中 role 属性的使用并建议改用语义元素。
useValidAnchor强制所有锚点有效,并且它们是可导航元素。
useValidAriaProps确保 ARIA 属性 aria-* 全部有效。
useValidAriaRole具有 ARIA 角色的元素必须使用有效的非抽象 ARIA 角色。
useValidAriaValues强制正确使用 和 。
useValidAutocompleteinput 元素上的 autocomplete 属性使用有效值。
useValidLang确保传递给 lang 属性的属性是正确的 ISO 语言和/或国家/地区。
规则名称描述属性
noAdjacentSpacesInRegex禁止在正则表达式文字中不明确地使用连续空格字符
noArguments禁止使用 arguments
noBannedTypes禁止原始类型别名和误导性类型。
noCommaOperator禁止逗号运算符。
noEmptyTypeParameters禁止类型别名和接口中的空类型参数。
noExcessiveCognitiveComplexity禁止超过给定认知复杂性分数的函数。
noExcessiveLinesPerFunction限制函数中的代码行数。
noExcessiveNestedTestSuites此规则强制测试文件中嵌套 describe() 的最大深度。
noExtraBooleanCast禁止不必要的布尔转换
noFlatMapIdentity禁止在 flatMap 上使用不必要的回调。
noForEach首选 for...of 语句而不是 Array.forEach
noImplicitCoercions禁止使用简写类型转换。
noStaticOnlyClass此规则报告类没有非静态成员的情况,例如专门用作静态命名空间的类。
noThisInStatic禁止在 static 上下文中使用 thissuper
noUselessCatch禁止不必要的 catch 子句。
noUselessConstructor禁止不必要的构造函数。
noUselessContinue避免使用不必要的 continue
noUselessEmptyExport禁止在模块文件中不更改任何内容的空导出。
noUselessEscapeInRegex禁止在正则表达式文字中使用不必要的转义序列。
noUselessFragments禁止不必要的片段
noUselessLabel禁止不必要的标签。
noUselessLoneBlockStatements禁止不必要的嵌套块语句。
noUselessRename禁止将导入、导出和解构分配重命名为同一名称。
noUselessStringConcat禁止不必要的字符串或模板文字连接。
noUselessStringRaw禁止在模板字符串字面量中使用不必要的 String.raw 函数(不带任何转义序列)。
noUselessSwitchCase禁止在 switch 语句中使用无用的 case
noUselessTernary当存在更简单的替代方案时,禁止使用三元运算符。
noUselessThisAlias禁止无用的 this 别名。
noUselessTypeConstraint禁止使用 anyunknown 作为类型约束。
noUselessUndefinedInitialization禁止将变量初始化为 undefined
noVoid禁止使用 void 运算符,因为它不是一个熟悉的运算符。
useArrowFunction在函数表达式上使用箭头函数。
useDateNow使用 Date.now() 获取自 Unix 纪元以来的毫秒数。
useFlatMap提倡在 map().flat() 一起使用时使用 .flatMap()
useIndexOf查找项目索引时,优先使用 Array#{indexOf,lastIndexOf}() 而不是 Array#{findIndex,findLastIndex}()
useLiteralKeys强制使用文字访问属性而不是计算属性访问。
useNumericLiterals禁止 parseInt()Number.parseInt(),转而使用二进制、八进制和十六进制文字
useOptionalChain强制使用简洁的可选链而不是链式逻辑表达式。
useRegexLiterals如果可能,强制使用正则表达式文字而不是 RegExp 构造函数。
useSimpleNumberKeys禁止使用非十进制或以下划线作为分隔符的数字字面量对象成员名称。
useSimplifiedLogicExpression从逻辑表达式中丢弃冗余术语。
useWhile当不需要初始化程序和更新表达式时,强制使用 while 循环而不是 for 循环。
规则名称描述属性
noChildrenProp防止将子组件作为 props 传递。
noConstAssign防止重新分配 const 变量。
noConstantCondition禁止在条件中使用常量表达式
noConstantMathMinMaxClamp禁止使用 Math.minMath.max 来限制结果本身为常数的值。
noConstructorReturn禁止从 constructor 返回值。
noEmptyCharacterClassInRegex禁止正则表达式文字中的空字符类。
noEmptyPattern禁止空的解构模式。
noGlobalDirnameFilename禁止在全局作用域中使用 __dirname__filename
noGlobalObjectCalls禁止将全局对象属性作为函数调用
noInnerDeclarations禁止在其块外可访问的 functionvar 声明。
noInvalidBuiltinInstantiation确保内置函数正确实例化。
noInvalidConstructorSuper防止在类中错误使用 super()。它还检查扩展其他构造函数的类中是否缺少调用 super()
noInvalidUseBeforeDeclaration禁止在声明之前使用变量、函数参数、类和枚举。
noNestedComponentDefinitions禁止在其他组件内部定义 React 组件。
noNodejsModules禁止使用 Node.js 内置模块。
noNonoctalDecimalEscape禁止字符串文字中的 \8\9 转义序列。
noPrecisionLoss禁止丢失精度的文字数字
noPrivateImports限制导入私有导出项。
noProcessGlobal禁止使用全局变量 process
noQwikUseVisibleTask禁止在 Qwik 组件中使用 useVisibleTask$() 函数。
noReactPropAssignments禁止向 React 组件赋值 props。
noRenderReturnValue防止使用 React.render 的返回值。
noRestrictedElements禁止使用已配置的元素。
noSelfAssign禁止在双方完全相同的情况下进行分配。
noSetterReturn禁止从 setter 返回值
noSolidDestructuredProps禁止在 Solid 项目中解构 JSX 组件内的 props。
noStringCaseMismatch禁止比较使用不合规值修改字符串大小写的表达式。
noSwitchDeclarations禁止在 switch 子句中使用词汇声明。
noUndeclaredDependencies禁止使用未在 package.json 中指定的依赖。
noUndeclaredVariables防止使用文档中未声明的变量。
noUnreachable禁止无法访问的代码
noUnreachableSuper如果类具有超类,则确保在访问 this 之前,在类构造函数中的每个代码路径上都只调用一次 super() 构造函数
noUnsafeFinally禁止在 finally 块中控制流语句。
noUnsafeOptionalChaining禁止在未允许使用未定义值的上下文中使用可选链接。
noUnusedFunctionParameters禁止未使用的函数参数。
noUnusedImports禁止未使用的导入。
noUnusedLabels禁止未使用的标签。
noUnusedPrivateClassMembers禁止未使用的私有类成员
noUnusedVariables禁止未使用的变量。
noVoidElementsWithChildren此规则防止空元素(又称自关闭元素)有子元素。
noVoidTypeReturn禁止从返回类型为 ‘void’ 的函数返回值
useExhaustiveDependencies强制 React Hooks 中正确使用依赖。
useHookAtTopLevel强制所有 React 钩子都从顶层组件函数调用。
useImageSize强制 <img> 元素同时具有 width 和 height 属性。
useImportExtensions强制显式比较值的 、、 或 属性。
useIsNan要求在检查 NaN 时调用 isNaN()
useJsonImportAttributes强制 JSON 模块导入使用 with { type: "json" }
useJsxKeyInIterable禁止在迭代器/集合文字中缺少关键属性。
useParseIntRadix强制要求在使用 parseInt() 时始终使用基数参数。
useQwikClasslist建议使用 class 属性作为类列表,而不是 classnames 辅助函数。
useSingleJsDocAsterisk强制 JSDoc 注释行以单个星号开头,第一个星号除外。
useUniqueElementIds防止在元素上使用静态字符串字面量 id 属性。
useValidForDirection强制 “for” 循环更新子句将计数器移向正确的方向。
useValidTypeof此规则检查 typeof 表达式的结果是否与有效值进行比较。
useYield要求生成器函数包含 yield
规则名称描述属性
noAmbiguousAnchorText禁止使用含义模糊的锚点描述。
noContinue禁止使用 continue 语句。
noDeprecatedImports限制导入已弃用的导出项。
noDuplicatedSpreadProps禁止 JSX prop 多次展开相同的标识符。
noEmptySource禁止使用空源。
noEqualsToNull要求使用 ===!==null 进行比较。
noFloatingPromises要求正确处理类似 Promise 的语句。
noForIn禁止使用 for-in 循环进行迭代。
noImportCycles防止循环导入。
noIncrementDecrement禁止使用一元运算符 ++ 和 —。
noJsxLiterals禁止在 JSX 元素中使用字符串字面量。
noLeakedRender防止渲染有问题的泄漏值。
noMisusedPromises禁止在几乎可以肯定是错误的地方使用 Promise。
noMultiStr禁止通过转义换行符创建多行字符串。
noNextAsyncClientComponent防止客户端组件是异步函数。
noParametersOnlyUsedInRecursion禁止使用仅在递归调用中使用的函数参数。
noProto禁止使用已弃用的 __proto__ 对象属性。
noReactForwardRefforwardRef 的使用替换为将 ref 作为 prop 传递。
noScriptUrl禁止使用 javascript: URL。
noShadow禁止变量声明覆盖外部作用域中声明的变量。
noSyncScripts防止使用同步脚本。
noTernary禁止使用三元运算符。
noUndeclaredEnvVars禁止使用未声明的环境变量。
noUnknownAttribute禁止使用未知的 DOM 属性。
noUnnecessaryConditions禁止使用静态方法判断为冗余的、不必要的基于类型的条件。
noUnresolvedImports导入不存在的导出文件时会发出警告。
noUnusedExpressions禁止使用既不是函数调用也不是赋值的表达式语句。
noUselessCatchBinding禁止使用未使用的 catch 绑定。
noUselessUndefined禁止使用无用的 undefined 指令。
noVueDataObjectDeclaration强制要求 Vue 组件的 data 选项声明为函数。
noVueDuplicateKeys禁止在 Vue 组件的数据、方法、计算属性和其他选项中使用重复的键。
noVueReservedKeys禁止在 Vue 组件数据和计算属性中使用保留键。
noVueReservedProps禁止将保留名称用作 props。
noVueSetupPropsReactivityLoss禁止在 Vue 项目中解构传递给 setupprops
useArraySortCompare要求 Array#sort 和 Array#toSorted 调用始终提供 compareFunction。
useAwaitThenable强制要求 await 仅用于 Promise 值。
useConsistentArrowReturn强制箭头函数体保持一致。
useDestructuring要求从数组和/或对象中解构赋值。
useExhaustiveSwitchCases要求 switch-case 语句必须穷尽所有情况。
useExplicitType强制在函数、方法、变量和参数中使用类型。
useFind强制使用 Array.prototype.find() 而不是 Array.prototype.filter() 后跟 [0] 来查找单个结果。
useMaxParams强制函数定义中参数的最大数量。
useQwikMethodUsage禁止在 Qwik 应用中使用 component$ 之外的 use* 钩子或其他 use* 钩子。
useQwikValidLexicalScope禁止在 Qwik 美元 ($) 作用域中使用不可序列化的表达式。
useRegexpExec如果未提供全局标志,则强制使用 RegExp#exec 而不是 String#match
useSortedClasses强制对 CSS 实用程序类进行排序。
useSpread强制使用扩展运算符而不是 .apply()
useVueDefineMacrosOrder强制要求 Vue 编译器宏的特定顺序。
useVueMultiWordComponentNames强制要求 Vue 组件使用多词组件名称。
规则名称描述属性
noAccumulatingSpread禁止在累加器上使用扩展 (...) 语法。
noAwaitInLoops禁止在循环中使用 await
noBarrelFile禁止使用 barrel 文件。
noDelete禁止使用 delete 运算符。
noDynamicNamespaceImportAccess禁止动态访问命名空间导入。
noImgElement防止在 Next.js 项目中使用 <img> 元素。
noNamespaceImport禁止使用命名空间导入。
noReExportAll避免重新导出所有内容。
noUnwantedPolyfillio防止从 Polyfill.io 引入重复的 polyfill。
useGoogleFontPreconnect确保在使用 Google Fonts 时使用 preconnect 属性。
useSolidForComponent强制使用 Solid 的 <For /> 组件将数组映射到 JSX 元素。
useTopLevelRegex要求在顶层声明正则表达式文字。
规则名称描述属性
noBlankTarget禁止在没有 rel="noopener" 的情况下使用 target="_blank" 属性。
noDangerouslySetInnerHtml防止使用危险的 JSX props
noDangerouslySetInnerHtmlWithChildren报告 DOM 元素或组件同时使用 childrendangerouslySetInnerHTML prop 的情况。
noGlobalEval禁止使用全局 eval()
noSecrets禁止使用敏感数据,例如 API 密钥和令牌。
规则名称描述属性
noCommonJs禁止使用 CommonJs 模块系统,转而使用 ESM 样式导入。
noDefaultExport禁止默认导出。
noDoneCallback禁止在异步测试和钩子中使用回调。
noEnum禁止 TypeScript 枚举。
noExportedImports禁止导出导入的变量。
noHeadElement防止在 Next.js 项目中使用 <head> 元素。
noImplicitBoolean禁止在 JSX 布尔属性上允许隐式 true
noInferrableTypes禁止使用文字表达式初始化的变量、参数和类属性的类型注释。
noMagicNumbers报告 “魔数” 的使用情况 - 直接使用数字,而不是将其赋值给命名常量。
noNamespace禁止使用 TypeScript 的 namespace
noNegationElse如果 if 语句有 else 子句,则禁止在 if 语句的条件中使用否定。
noNestedTernary禁止使用嵌套的三元表达式。
noNonNullAssertion禁止使用 ! 后缀运算符进行非空断言。
noParameterAssign禁止重新分配 function 参数。
noParameterProperties禁止在类构造函数中使用参数属性。
noProcessEnv禁止使用 process.env
noRestrictedGlobals此规则允许你指定不想在应用中使用的全局变量名称。
noRestrictedImports当通过 import 或 require 加载时,禁止指定模块。
noRestrictedTypes禁止用户定义的类型。
noShoutyConstants禁止使用其值为名称大写版本的常量。
noSubstr强制使用 String.slice() 而不是 String.substr()String.substring()
noUnusedTemplateLiteral如果不需要插值和特殊字符处理,则禁止使用模板文字
noUselessElseif 块提前中断时禁止 else 块。
noYodaExpression禁止使用 yoda 表达式。
useArrayLiterals禁止数组构造函数。
useAsConstAssertion强制使用 as const 而不是文字类型和类型注释。
useAtIndex使用 at() 代替整数索引访问。
useBlockStatements要求遵循大括号约定。
useCollapsedElseIf强制使用 else if 而不是嵌套在 else 子句中的 if
useCollapsedIf强制使用单个 if 子句而不是嵌套的 if 子句。
useComponentExportOnlyModules强制仅在仅导出 React Components 的模块中声明组件。
useConsistentArrayType要求一致使用 T[]Array<T>
useConsistentBuiltinInstantiation强制所有内置命令使用 newStringNumberBoolean 除外。
useConsistentCurlyBraces此规则强制在 JSX 属性和 JSX 子项内一致使用大括号。
useConsistentMemberAccessibility要求在类属性和方法上使用一致的可访问性修饰符。
useConsistentObjectDefinitions要求对象字面量声明方式一致。默认使用显式定义。
useConsistentTypeDefinitions强制类型定义始终使用 interfacetype
useConst要求仅分配一次的变量进行 const 声明。
useDefaultParameterLast强制 switch 语句中的默认子句位于最后
useDefaultSwitchClause要求 switch 语句中有 default 子句。
useEnumInitializers要求每个枚举成员值都明确初始化。
useExplicitLengthCheck强制显式 length 属性与元素上的隐式/默认角色属性不同。
useExponentiationOperator禁止使用 Math.pow,而使用 ** 运算符。
useExportType提倡使用 export type 作为类型。
useExportsLast要求所有导出语句必须在所有非导出语句之后声明。
useFilenamingConvention强制相对导入的文件扩展名。
useForOf尽可能优先使用 for...of 循环而不是标准的 for 循环。
useFragmentSyntax此规则强制使用 <>...</> 而不是 <Fragment>...</Fragment>
useGroupedAccessorPairs强制要求在类和对象定义中,同一属性的 getter 和 setter 必须相邻。
useImportType提倡使用 import type 作为类型。
useLiteralEnumMembers要求所有枚举成员都是文字值。
useNamingConvention强制 JavaScript 和 TypeScript 文件名的命名约定。
useNodeAssertStrict提倡使用 node:assert/strict 而不是 node:assert
useNodejsImportProtocol强制使用 node: 协议来处理 Node.js 内置模块。
useNumberNamespace使用 Number 属性而不是全局属性。
useNumericSeparators强制在数值字面量中使用数字分隔符。
useObjectSpread构建新对象时,优先使用 Object.assign() 对象展开。
useReactFunctionComponents强制要求组件定义为函数,而不能定义为类。
useReadonlyClassProperties强制要求将成员标记为 readonly,前提是成员在构造函数之外从未被修改。
useSelfClosingElements防止为没有子元素的组件添加额外的闭合标签。
useShorthandAssign尽可能要求赋值运算符简写。
useShorthandFunctionType强制使用函数类型而不是带有调用签名的对象类型。
useSingleVarDeclarator禁止在同一个变量语句中声明多个变量
useSymbolDescription要求 Symbol() 指令包含描述参数。
useTemplate首选模板文字而不是字符串连接。
useThrowNewError抛出错误时需要 new
useThrowOnlyError禁止抛出非 Error 值。
useTrimStartEnd强制使用 String.trimStart()String.trimEnd() 而不是 String.trimLeft()String.trimRight()
useUnifiedTypeSignatures禁止使用可以合并为单个签名的重载签名。
规则名称描述属性
noAlert禁止使用 alertconfirmprompt
noApproximativeNumericConstant使用标准常量而不是近似文字。
noArrayIndexKey不鼓励在键中使用数组索引。
noAssignInExpressions禁止表达式中的赋值。
noAsyncPromiseExecutor禁止使用异步函数作为 Promise 执行器。
noBitwiseOperators禁止使用位运算符。
noCatchAssign禁止在 catch 子句中重新分配异常。
noClassAssign禁止重新分配类成员。
noCommentText防止注释作为文本节点插入
noCompareNegZero禁止与 -0 进行比较
noConfusingLabels禁止非循环的标记语句。
noConfusingVoidType禁止在通用或返回类型之外使用 void 类型。
noConsole禁止使用 console
noConstEnum禁止 TypeScript const enum
noConstantBinaryExpressions禁止使用操作不影响值的表达式。
noControlCharactersInRegex防止正则表达式字面量中包含控制字符和某些与控制字符匹配的转义序列。
noDebugger禁止使用 debugger
noDocumentCookie禁止直接向 document.cookie 赋值。
noDocumentImportInPage防止在 Next.js 项目中从 pages/_document.jsx 之外导入 next/document
noDoubleEquals需要使用 ===!==
noDuplicateCase禁止重复的案例标签。
noDuplicateClassMembers禁止重复的类成员。
noDuplicateElseIf禁止 if-else-if 链中的重复条件
noDuplicateJsxProps防止多次分配 JSX 属性。
noDuplicateObjectKeys禁止在对象内部使用两个同名的键。
noDuplicateParameters禁止重复的函数参数名称。
noDuplicateTestHooksdescribe 块不应包含重复的钩子。
noEmptyBlockStatements禁止空块语句和静态块。
noEmptyInterface禁止声明空接口。
noEvolvingTypes禁止变量通过重新分配演变为 any 类型。
noExplicitAny禁止使用 any 类型。
noExportsInTest禁止在包含测试的文件中 使用 exportmodule.exports
noExtraNonNullAssertion防止在 TypeScript 文件中错误使用非空断言运算符 (!)。
noFallthroughSwitchClause禁止 switch 子句的 fallthrough。
noFocusedTests禁止重点测试。
noFunctionAssign禁止重新分配函数声明。
noGlobalAssign禁止分配给原生对象和只读全局变量。
noGlobalIsFinite使用 Number.isFinite 而不是全局 isFinite
noGlobalIsNan使用 Number.isNaN 而不是全局 isNaN
noHeadImportInDocument防止在 Next.js 项目中使用 pages/_document.js 中的 next/head 模块。
noImplicitAnyLet禁止在变量声明中使用隐式 any 类型。
noImportAssign禁止分配给导入的绑定
noIrregularWhitespace禁止使用不规则的空格字符。
noLabelVar禁止与变量共享名称的标签
noMisleadingCharacterClass禁止在字符类语法中使用多个代码点构成的字符。
noMisleadingInstantiator强制在创建内置错误时传递消息值。
noMisplacedAssertion检查正则表达式是否是简单参数时,检查 unicode 宽度而不是字节数。
noMisrefactoredShorthandAssign当变量出现在两侧时,禁止简写赋值。
noNonNullAssertedOptionalChain禁止在可选链式表达式后使用非空断言。
noOctalEscape禁止在字符串字面量中使用八进制转义序列
noPrototypeBuiltins禁止直接使用 Object.prototype 内置函数。
noReactSpecificProps防止使用 React 特定的 JSX 属性。
noRedeclare禁止在同一范围内重新声明变量、函数、类和类型。
noRedundantUseStrict防止有多余的 "use strict"
noSelfCompare禁止在双方完全相同的情况下进行比较。
noShadowRestrictedNames禁止标识符隐藏受限名称。
noSkippedTests禁止禁用测试。
noSparseArray防止使用稀疏数组(带空位的数组)。
noSuspiciousSemicolonInJsx它检测 JSX 元素内可能的 “wrong” 分号。
noTemplateCurlyInString禁止在普通字符串中使用模板字面量占位符语法。
noThenProperty禁止 then 属性。
noTsIgnore防止使用 TypeScript 指令 @ts-ignore
noUnassignedVariables禁止读取但从未赋值的 letvar 变量。
noUnsafeDeclarationMerging禁止接口和类之间不安全的声明合并。
noUnsafeNegation禁止使用不安全的否定。
noUselessEscapeInString禁止在字符串字面量中使用不必要的转义。
noUselessRegexBackrefs禁止在正则表达式字面量中使用始终匹配空字符串的无用反向引用。
noVar禁止使用 var
noWith禁止在非严格上下文中使用 with 语句。
useAdjacentOverloadSignatures禁止使用不相邻的过载签名。
useAwait确保 async 函数使用 await
useDefaultSwitchClauseLast强制原始类型的一致名称
useErrorMessage强制 onClick 至少伴随以下之一:
useGetterReturn强制 get 方法始终返回一个值。
useGoogleFontDisplay强制 Google Fonts 使用推荐的 display 策略。
useGuardForIn要求 for-in 循环包含 if 语句。
useIsArray使用 Array.isArray() 而不是 instanceof Array
useIterableCallbackReturn强制可迭代回调函数返回值保持一致。
useNamespaceKeyword要求使用 namespace 关键字而不是 module 关键字来声明 TypeScript 命名空间。
useNumberToFixedDigitsArgument强制使用带有 Number#toFixed() 的数字参数。
useStaticResponseMethods尽可能使用静态 Response 方法而不是 new Response() 构造函数。
useStrictMode强制在脚本文件中使用指令 "use strict"

¥Recommended rules

缺少规则?请通过 contributinganalyzer 或创建规则建议 此处 来帮助我们。

¥Missing a rule? Help us by contributing to the analyzer or create a rule suggestion here.