Newer
Older
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>test shadow copy</title>
</head>
<body>
<script type="text/javascript">
(function () {
const Machine = function () {
this.data1 = [];
this.save = function () {
return {data1: this.data1};
};
};
const m = new Machine();
m.data1.push(1);
const r = m.save();
console.log(r.data1);
m.data1.push(2);
console.log(r.data1); // r.data1 is changed because it's a shadow copy.
}());
</script>
</body>
</html>