{"ScriptPreparationCode":"const bigObject_int = Object.fromEntries(Array(1000).fill(null).map((_,i) =\u003E [i, i]));\r\nconst bigObject_int_NoProto = Object.assign({__proto__:null}, bigObject_int);\r\nconst bigObject_str = Object.fromEntries(Array(1000).fill(null).map((_,i) =\u003E [\u0060_${i}\u0060, i]));\r\nconst bigObject_str_NoProto = Object.assign({__proto__:null}, bigObject_str);","TestCases":[{"Name":"Object.keys w/ lookup, integer keys","Code":"let x = 0;\r\nfor (const key of Object.keys(bigObject_int)) { x \u002B= bigObject_int[key]; }","IsDeferred":false},{"Name":"Object.values, integer keys","Code":"let x = 0;\r\nfor (const i of Object.values(bigObject_int)) { x \u002B= i; }","IsDeferred":false},{"Name":"Object.entries, integer keys","Code":"let x = 0;\r\nfor (const [_, i] of Object.entries(bigObject_int)) { x \u002B= i; }","IsDeferred":false},{"Name":"for..in w/ lookup, integer keys","Code":"let x = 0;\r\nfor (const key in bigObject_int) { x \u002B= bigObject_int[key]; }","IsDeferred":false},{"Name":"for..in w/ lookup, integer keys, null proto","Code":"let x = 0;\r\nfor (const key in bigObject_int_NoProto) { x \u002B= bigObject_int_NoProto[key]; }","IsDeferred":false},{"Name":"Object.keys w/ lookup, string keys","Code":"let x = 0;\r\nfor (const key of Object.keys(bigObject_str)) { x \u002B= bigObject_str[key]; }","IsDeferred":false},{"Name":"Object.values, string keys","Code":"let x = 0;\r\nfor (const i of Object.values(bigObject_str)) { x \u002B= i; }","IsDeferred":false},{"Name":"Object.entries, string keys","Code":"let x = 0;\r\nfor (const [_, i] of Object.entries(bigObject_str)) { x \u002B= i; }","IsDeferred":false},{"Name":"for..in w/ lookup, string keys","Code":"let x = 0;\r\nfor (const key in bigObject_str) { x \u002B= bigObject_str[key]; }","IsDeferred":false},{"Name":"for..in w/ lookup, string keys, null proto","Code":"let x = 0;\r\nfor (const key in bigObject_str_NoProto) { x \u002B= bigObject_str_NoProto[key]; }","IsDeferred":false}]}