Advice/Timeline on using Value Objects?
Tab Atkins Jr.
jackalmage at gmail.com
Thu Jan 23 17:24:47 PST 2014
On Thu, Jan 23, 2014 at 4:25 PM, Brendan Eich <brendan at mozilla.com> wrote:
> Tab Atkins Jr. wrote:
>> Using value objects would make this explicit, and would allow
>> convenient operator overloading, so you can do:
>> var x = CSS.px(5);
>> var y = CSS.px(10);
>> var z = x + y;
> With value objects, you could do even better:
> // something declarative to import suffix px as CSS.px here
> let x = 5px;
> let y = 10px;
> let z = x + y;
Ooh, I didn't realize suffixes were extensible! That looks *amazing*.
>> I'm okay with this being 1 or 2 years down the road.
> That's my time frame, and ES7's.
>> Alternately, how close can I get to truly immutable objects? I want
>> something that can't be expando'd or altered in any way, so our impl
>> can share objects when possible.
> Without value objects, you have reference-based identity, so
> CSS.px(5) !== CSS.px(5)
> No bueno. You want value objects. Working on it for next week's TC39
Yup, indeed. Looking forward to this!
More information about the es-discuss