我有一个董事会成员:
var board = new Board();
Run Code Online (Sandbox Code Playgroud)
我想复制一块电路板并movePiece在新电路板上运行一个函数:
var newBoard = board;
newBoard.movePiece('4a', '3b');
Run Code Online (Sandbox Code Playgroud)
因为我只是分配给它,都board和newBoard将有感动件.
如何克隆电路板以创建一个名为newBoard的精确副本,我可以将其移动并且原始电路板将保持不变?
我尝试了几种不同的方法,例如:
Object.assign({}, orig)
Run Code Online (Sandbox Code Playgroud)
和
function clone(orig) {
let origProto = Object.getPrototypeOf(orig);
return Object.assign(Object.create(origProto), orig);
}
Run Code Online (Sandbox Code Playgroud)