JSFiddle - React, Tailwind, and code Playground
JavaScript
function structuredClone_replaceState(obj) {
var oldState = history.state;
history.replaceState(obj, null);
var clonedObj = history.state;
history.replaceState(oldState, null);
return clonedObj;
}
var original = { date: new Date(), number: Math.random() };
original.self = original;
var clone = structuredClone_replaceState(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));