integer indices vs. array indices
tc39/ecma262#1242
+0
2**32-2
+0
2**53-1
integer index
array index
Reflect.ownKeys({� a: 1,� [2**53]: 1, // max integer index + 1� [2**53-1]: 1, // max integer index� 42: 1,� [2**32-1]: 1, // max array index + 1� [2**32-2]: 1, // max array index�});�
Reflect.ownKeys({� a: 1,� [2**53]: 1, // max integer index + 1� [2**53-1]: 1, // max integer index� 42: 1,� [2**32-1]: 1, // max array index + 1� [2**32-2]: 1, // max array index�});���// Expected result (per current spec):�[� '42',� '4294967294', // max array index� '4294967295', // max array index + 1
'9007199254740991', // max integer index� // -----------------------------------------� 'a',� '9007199254740992', // max integer index + 1�]
Reflect.ownKeys({� a: 1,� [2**53]: 1, // max integer index + 1� [2**53-1]: 1, // max integer index� 42: 1,� [2**32-1]: 1, // max array index + 1� [2**32-2]: 1, // max array index�});���// Expected result (per current spec):�[� '42',� '4294967294', // max array index� '4294967295', // max array index + 1� '9007199254740991', // max integer index
// -----------------------------------------� 'a',� '9007199254740992', // max integer index + 1�]
// Actual result in all engines:�[� '42',� '4294967294', // max array index
// -----------------------------------------� 'a',� '9007199254740992', // max integer index + 1� '9007199254740991', // max integer index� '4294967295', // max array index + 1�]
Merge the PR?
tc39/ecma262#1242
Related:
tc39/ecma262#1243
tc39/ecma262#1244