🎄
ENCA 9日目: プロパティ列挙順で始めに列挙する整数値の範囲修正
整数値インデックスの扱い
ECMAScript の数値 number
は倍精度浮動小数点数(binary64)です。仮数部が 52 ビットであることから、Number.MAX_SAFE_INTEGER
)までの整数値を正確に扱うことが出来ます。また配列 Array
の長さの最大値は
以上の理由から
プロパティ列挙順で始めに列挙する整数値の範囲修正
昨日の記事で普通のオブジェクトは OrdinaryOwnPropertyKeys
で定義された順に列挙され、以下のような順番になると説明しました。
- 配列のインデックスとなりうる整数(文字列)プロパティ(array index)をその数の順番で列挙する
- 1 以外の文字列プロパティを作成順に列挙する
-
Symbol
プロパティを作成順に列挙する
実は仕様でこの 1 つ目の処理がもともと array index ではなく integer index となっていました。しかしどの JavaScript エンジンで試しても
Discussion