JSFiddle - React, Tailwind, and code Playground

by Jeremy Banks

JavaScript

function structuredClone(obj) {
    var oldState = history.state;
    history.replaceState(obj);
    var clonedObj = history.state;
    history.replaceState(oldState);
    return clonedObj;
}

var original = { date: new Date(), number: Math.random() };
original.self = original;

var clone = structuredClone(original);

// They're different objects:
console.log( original !== clone );
console.log( original.date !== clone.date );

// They're cyclical:
console.log( original.self === original );
console.log( clone.self === clone );

// They contain equivalent values:
console.log( original.number === clone.number );
console.log( Number(original.date) === Number(clone.date) );