Our great sponsors
-
proposal-record-tuple
ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
JavaScript has no feature like this, but there is a current proposal to add a "record" primitive type which is a key/value object with value semantics. These would be immutable though, which doesn't seem like it fits your need, as it seems like you want something which is copied by default but still mutable.
Have you checked out Immer? It allows you to write mutating code while ensuring you never actually mutate the original object.