The biggest problem with structured clone is that there’s no way to just invoke it directly. Doing so has been proposed a few times, most recently at https://github.com/whatwg/html/issues/793, but no implementers have expressed interest.
From: es-discuss [mailto:[email protected]] On Behalf Of Kevin Barabash Sent: Monday, November 14, 2016 23:51 To: Eric Devine <[email protected]> Cc: es-discuss <[email protected]> Subject: Re: Object.equals() and Object.clone() I didn't know about structured clone so I looked it up. It looks pretty promising. As for checking if two things are equal, maybe it makes sense for objects to define their own `.equals(other)` methods. https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm On Mon, Nov 14, 2016 at 9:31 PM, Eric Devine <[email protected]<mailto:[email protected]>> wrote: How about beginning with the HTML structured clone algorithm, and a `Symbol.clone` property to allow an object to optionally define it's own cloning behavior? On Mon, Nov 14, 2016 at 9:02 PM, Isiah Meadows <[email protected]<mailto:[email protected]>> wrote: I agree. Also, consider iterables. Should their `Symbol.iterator` method be called? There's no obvious behavior for the details, and people's opinions differ on what should be correct. On Mon, Nov 14, 2016, 20:58 Frankie Bagnardi <[email protected]<mailto:[email protected]>> wrote: It's pretty hard to decide how these behave, specifically with custom classes. Focusing on Object.clone... - with classes do you call the constructor, and with what arguments? - HTMLElement and sub classes can't be constructed directly, what happens with them? - do you copy internal properties? this would make it hard to polyfill - how does it behave with getters and setters? - with regular expressions do you copy the lastIndex? Most of those apply to Object.equals also. On Mon, Nov 14, 2016 at 6:25 PM, Kevin Barabash <[email protected]<mailto:[email protected]>> wrote: It would be nice if deep equality checking and deep cloning of objects was included in the standard library. Has there been any proposals around including these in the past? – Kevin _______________________________________________ es-discuss mailing list [email protected]<mailto:[email protected]> https://mail.mozilla.org/listinfo/es-discuss _______________________________________________ es-discuss mailing list [email protected]<mailto:[email protected]> https://mail.mozilla.org/listinfo/es-discuss _______________________________________________ es-discuss mailing list [email protected]<mailto:[email protected]> https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

