次のコードを検討してください
var myData = {name: 'John'};
function fixName(data) {
var newData = data;
newData.name = 'Mike';
return newData;
}
var myData2 = fixName(myData);
console.log(myData2.name);
console.log(myData.name);
関数内でnewDataとmyDataが同じものを指しているため、「Mike」は2回出力されます。myDataに副作用がないように関数を変更するにはどうすればよいですか?これは、プログラムが「マイク」、次に「ジョン」を出力する必要があることを意味します。