// Impliclitly converting regular numeric properties to computed numeric
// properties in the parser means checking there's no semantic changes.
let a = {
0 : 0 ,
1 n: 1 n,
get 2 () {
return 2 ;
},
set 2 (o) {},
get 3 n() {
return 3 n;
},
set 3 n(o) {}
};
assertEq(a[0 ], 0 );
assertEq(a[1 n], 1 n);
assertEq(a[2 ], 2 );
assertEq(a[3 n], 3 n);
function getterName(x) {
return Object.getOwnPropertyDescriptor(a, x).get.name
}
function setterName(x) {
return Object.getOwnPropertyDescriptor(a, x).set.name
}
assertEq(/get 2 /.test(getterName(2 )), true )
assertEq(/get 3 /.test(getterName(3 n)), true )
assertEq(/set 2 /.test(setterName(2 )), true )
assertEq(/set 3 /.test(setterName(3 n)), true )
let b = {
0 : 0 ,
[0 ]: 'dupe' ,
1 n: 1 ,
[1 n]: 'dupe' ,
[2 ]: 2 ,
2 : 'dupe' ,
[3 n]: 3 ,
3 n: 'dupe'
};
assertEq(b[0 ], 'dupe' );
assertEq(b[1 n], 'dupe' );
assertEq(b[2 ], 'dupe' );
assertEq(b[3 n], 'dupe' );
let c = {
0 : 0 ,
0 .0 : 'dupe' ,
};
assertEq(c[0 ], 'dupe' );
let d = {
0 : 0 ,
'0' : 'dupe' ,
};
assertEq(d[0 ], 'dupe' );
// Test numeric property destructuring.
let {1 : x} = {1 : 1 };
let {1 n: y} = {1 n: 1 n};
assertEq(x, 1 );
assertEq(y, 1 n);
Messung V0.5 in Prozent C=96 H=100 G=97
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland