Skip to content
← Back to rules

unicorn/numeric-separators-style スタイル

🛠️ An auto-fix is available for this rule.

何を行うか

数字のグループ化に数値区切り記号を使用するというルールを強制します。

なぜ問題なのか

長い数値は非常に読みにくくなるため、_で区切られた数字のグループに分割することは、コードの可読性を保つために重要です。このルールはまた、数値区切り記号の正しい使用方法を強制し、数字のグループが適切なサイズであるかどうかをチェックします。

このルールに違反する不正なコードの例:

javascript
const invalid = [1_23_4444, 1_234.56789, 0xab_c_d_ef, 0b10_00_1111, 0o1_0_44_21, 1_294_28771_2n];

このルールに従う正しいコードの例:

javascript
const valid = [1_234_567, 1_234.567_89, 0xab_cd_ef, 0b1000_1111, 0o10_4421, 1_294_287_712n];

設定

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

binary

type: object

2進数リテラル(例:0b1010_0001 および bigint 形式)に関する設定。 数字のグループ分け方や区切り記号の適用タイミングを制御します。

binary.groupLength

type: integer

数値区切り記号を挿入する際のグループごとの桁数。 たとえば、groupLength が 3 の場合、12345671_234_567 にフォーマットされます。

binary.minimumDigits

type: integer

グループ化が適用されるまでに必要な最小桁数。 この閾値より少ない桁数の値については、グループ化は行われません。

hexadecimal

type: object

16進数リテラル(例:0xAB_CD0Xab_cd および bigint 形式)に関する設定。 数字のグループ分け方や区切り記号の適用タイミングを制御します。

hexadecimal.groupLength

type: integer

数値区切り記号を挿入する際のグループごとの桁数。 たとえば、groupLength が 3 の場合、12345671_234_567 にフォーマットされます。

hexadecimal.minimumDigits

type: integer

グループ化が適用されるまでに必要な最小桁数。 この閾値より少ない桁数の値については、グループ化は行われません。

number

type: object

10進数(整数部、小数部、指数部)に関する設定。 数字のグループ分け方や区切り記号の適用タイミングを制御します。

number.groupLength

type: integer

数値区切り記号を挿入する際のグループごとの桁数。 たとえば、groupLength が 3 の場合、12345671_234_567 にフォーマットされます。

number.minimumDigits

type: integer

グループ化が適用されるまでに必要な最小桁数。 この閾値より少ない桁数の値については、グループ化は行われません。

octal

type: object

8進数リテラル(例:0o1234_5670 および bigint 形式)に関する設定。 数字のグループ分け方や区切り記号の適用タイミングを制御します。

octal.groupLength

type: integer

数値区切り記号を挿入する際のグループごとの桁数。 たとえば、groupLength が 3 の場合、12345671_234_567 にフォーマットされます。

octal.minimumDigits

type: integer

グループ化が適用されるまでに必要な最小桁数。 この閾値より少ない桁数の値については、グループ化は行われません。

onlyIfContainsSeparator

type: boolean

default: false

数値リテラルに既に区切り記号(_)が含まれている場合にのみ、このルールを適用します。

true に設定すると、区切り記号のない数値はそのままになります;false(デフォルト)の場合、区切り記号がまだ含まれていない数値に対しても、該当する数値に対してグループ化が強制されます。

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、以下のように使用できます:

json
{
  "rules": {
    "unicorn/numeric-separators-style": "error"
  }
}
bash
oxlint --deny unicorn/numeric-separators-style

参照