var player = {score: 1, name: 'Jeff'};
player.score = 2;
console.log(player); // {score: 2, name: 'Jeff'}
this.squares[i] = i;
this.squares[i] = 'Something';
console.log(this.squares[i]); /// [...,'Something',...]
var player = {score: 1, name: 'Jeff'};
var newPlayer = Object.assign({}, player, {score: 2});
// 또는
// var newPlayer = {...player, score: 2};
console.log(newPlayer, player)
// {score: 2, name: 'Jeff'}, {score: 1, name: 'Jeff'}
player = newPlayer;
this.squares[i] = i;
const squares = this.squares.slice(); // slice()를 이용해 쉽게 복제한다.
squares[i] = 'something';
console.log(squares, this.squares); // [...,'Something',...], [...,i의 값,...]
this.squares = sqaures;
The Difference Between Values and References in JavaScript