≪ Today I learned. RSS購読
公開日
タグ
JavaScript
著者
ダーシノ

ECMAScript Proposalの2025年6月のアップデート内容

先日108回目のミーティングで、ECMAScriptの各種プロポーザルがアップデートされた。

New Proposals

Updated Proposals

ECMAScript 2026に入るProposals

Error.isError

よくある以下のようなinstanceof Errorでは、実行環境(iframeやnodeのvm modulesなど)によって誤った結果を返す可能性がある。

if (error instanceof Error) {
  // do something
}

Array#isArray()と同じようにError#isError()を使うことで、実行環境によらない正確な判定ができるようになる。

if (Error.isError(error)) {
  // do something
}

その他のProposals

Math.clamp

数値を上限と下限の間に制限するための関数で、Math.min()Math.max()を組み合わせたようなものをMath.clamp()として提供する。

function clamp(number, minimum, maximum) {
	return Math.min(Math.max(number, minimum), maximum);
}

const val = clamp(20, 5, 15) // 15

SeededPRNG

シードを設定して再現可能な乱数を生成できる。C言語のrand関数のようなイメージ。

const prnd = new Randome.Seeded(0)
for (let i = 0; i < 10; i++) {
  console.log(prnd.random())
}