generated at
Object.assign
Object.assign({}, obj) { ...obj } の違い
prototypeが汚染されていた場合にのみ違いが発生する