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())
}