Skip to content
← Back to rules

typescript/prefer-string-starts-ends-with Nursery

This rule is turned on by default when type-aware linting is enabled.
💭 This rule requires type information.

何を行うか

startsWith および endsWith を、手動による文字列の境界チェックよりも優先して使用する。

なぜこれは問題か

sliceindexOf、正規表現のアンカー、または手動インデックスによる境界チェックは、startsWith / endsWith に比べて読みにくく、保守が難しい。

このルールに違反する誤ったコードの例:

ts
value.slice(0, 3) === "foo";
value.slice(-3) === "bar";

このルールに準拠する正しいコードの例:

ts
value.startsWith("foo");
value.endsWith("bar");

設定

このルールは、以下のプロパティを持つ設定オブジェクトを受け入れます。

allowSingleElementEquality

型: "always" | "never"

デフォルト: null

最初/最後の文字に対する等価性チェックを許可するかどうか。

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:

json
{
  "rules": {
    "typescript/prefer-string-starts-ends-with": "error"
  }
}
bash
oxlint --type-aware --deny typescript/prefer-string-starts-ends-with

参照