А по поводу проблем с производительностью спред оператора есть такие баги:



https://bugs.chromium.org/p/v8/issues/detail?id=10763



https://bugs.chromium.org/p/chromium/issues/detail?id=1204540



Выдержка от @cevek:



видимо проблема в том что спред создает новый объект не соответветсвующей мапе к оригинальному



The problem is that the CloneObjectIC creates local copies of object literal maps instead of reusing the shared trees from the cache. The following should be true but isn't:





~/v8$ v8 --allow-natives-syntax --nolazy-feedback-allocation

d8> o = {a:1, b:2}; %HaveSameMap({...o}, {...o})

false





от этого случается мегаморфизм и прощай перформанс