How can I reliably convert a proxy to a standard object?

I’m working with events in JavaScript, and often the event is a proxy object. When debugging I can usually use this to get a copy of the object.

console.log(JSON.parse(JSON.stringify(event.detail)));

Sometimes (today, a few times), this outputs a proxy object again, but if I don’t parse it, I get the raw string with the information I need:

console.log(JSON.stringify(event.detail));

Why is JSON.parse turning a string into a proxy object? How can I get a copy of the embedded object every time?