私はES6でJestを使ってReact Componentsのテストを書いています。 1つのテストでは、jsonをインポートしてクローンオブジェクトを変異させるクローンが必要ですが、クローン化されたオブジェクトを変異させると元のオブジェクトも変異します。複製されたオブジェクトを突然変異させ、元のオブジェクトも変異させる[Javascript]
import obj from './object.json'; // obj = { name: 'someName' }
describe('Testing a component',() => {
it('Some testing',() => {
const obj2 = Object.assign({}, obj); //Clone the object
obj2.name = 'otherName'; // Muatate the object
console.log(obj); // { name: 'otherName' }
});
})
これはどうしてですか?なぜ私は複製されたオブジェクトを変異させると、元のインポートされたオブジェクトも変異するのですか?
は深いクローンを実行します。 – frozen