概要

編集

「数値の区切り」は、JavaScriptの数値リテラルで桁ごとに区切り文字を使用するための新機能です。この機能は、長い桁数の数字を読みやすくするために、数字の間に区切り文字(アンダースコア _)を挿入することを許可します。

背景

編集

大きな数値リテラルは、特に桁数が多い場合に人間の目で解析するのが難しくなります。例えば、1,000,000,000 や 1.23e6 のような数値では、どのくらいのスケールであるかを把握するのが難しいことがあります。この機能は、そのような数値をより読みやすくするためのものです。

提案

編集

この提案は、JavaScriptの数値リテラルに対して、桁ごとに区切り文字(アンダースコア _)を挿入できるようにするものです。これにより、次のように数値リテラルをより視覚的に分けることができます。

1_000_000_000  // 10億
1_234_567.89  // 1,234,567.89

浮動小数点

編集

浮動小数点リテラルにも区切り文字を使うことができます:

123_456.789_101

指数部

編集

指数部にも区切り文字を使うことができます:

1e1_000

BigIntリテラル

編集

BigIntリテラルでも、数字の間に区切り文字を使うことができます:

1_000_000_000_000n

モチベーション

編集

この機能の目的は、数値リテラルの可読性を向上させることです。特に金融計算や固定小数点演算を行う場合など、大きな桁数の数値を扱う際に、直感的に理解しやすくするために有用です。

制限事項

編集

アンダースコアは、数値リテラルの数字の間にのみ使用でき、リテラルの先頭や末尾、またはアンダースコアの前後には使用できません。また、2つ以上のアンダースコアを連続して使うことも出来ません。

有効な例

編集
1_000_000  // 有効
1_000_000n // BigIntリテラルでも有効

無効な例

編集
1_000_000_ // 無効:リテラルの末尾にアンダースコアは使えません
_1000      // 無効:リテラルの先頭にアンダースコアは使えません

参照

編集