const negOne = -1;
const negTwo = -2;
const object1 = {
[Symbol("first")]: true,
[negOne]: "aa",
3: "aa",
1: "aa",
2: "aa",
"03": "aa",
1.3: "aa",
"-3": "aa",
[negTwo]: "aa",
[Symbol("second")]: true,
};
object1[-4] = "aa";
for (key of Reflect.ownKeys(object1)) {
console.log(key);
}
-
数字(自然数,即0,1,2,3) 按升序 (细节:下标上是一个无符号的32bit的数,即最大是 2^32−1 )
-
字符串按插入的时间顺序(细节:小数,负数等都当做字符串来看待)
-
symbols 都会统一放在最后面 按按插入时顺序
关于下标的细节请参考 speakingjs.com/es5/ch18.ht…