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) );