00:20
<iain>
Note that SpiderMonkey lazily initializes properties on functions, so you will get a different result if you access a property before enumerating them (eg function foo() {}; foo.name; Object.keys(... will give ["name", "prototype", "length"])
02:41
<ljharb>
sounds like we have potentially 3 different behaviors then, and we should make some test262 tests
02:45
<ljharb>
in chrome/node i get [ 'length', 'name', 'arguments', 'caller', 'prototype' ] and in safari ["length", "name", "prototype"] and firefox [ "prototype", "length", "name" ], which is 2 orders, and 2 sets of names, in what's probably a fun little venn diagram
03:22
<Meghan Denny>
another fun point: discovered this because i separately ran into that on safari atm the first time you call it it'll return ["length", "name", "prototype"] and if you call it again on the same function it'll return ["prototype", "name", "length"] hehe
07:11
<snek>
this is giving me some serious deja vu
07:15
<snek>
maybe this one https://github.com/tc39/ecma262/pull/2116
07:17
<snek>
oh no it was this one https://github.com/tc39/ecma262/pull/1490