javascript vision thing

Isiah Meadows isiahmeadows at
Mon Dec 18 15:22:53 UTC 2017

For one specific example, plain objects can be treated like C structs.
For most scenarios you'd want "methods", you could get away just as
easily with functions taking the instance as an argument (in
particular, you could still use `this`, although I don't in practice).

I've used this pattern quite a bit when I have a bit of state that
needs accessed in several places, but actions are more easily
encapsulated. This isn't as elegant for things like DSLs, but it's
useful for more stateful programming.

Isiah Meadows
me at

Looking for web consulting? Or a new website?
Send me an email and we can get started.

On Mon, Dec 18, 2017 at 6:25 AM, Naveen Chawla <naveen.chwl at> wrote:
> Javascript won't lose plain objects. Classes simplify cases of type
> hierarchies that require overriden methods, and offer a memory performance
> gain in the case of when there are many instances vs using plain objects to
> do the same (which incurs a memory overhead for each instance's functions
> even when they are the same as each other). The only encapsulated way of
> doing this before ES6 was to use prototype, which is easier to get wrong
> especially if there is more than two levels of depth of method inheritance.
> You get to chose what works for you. You can even argue for using plain
> objects in certain cases where somebody has decided to use classes. That has
> nothing to do with what the language offers for those whose applications are
> simpler and more performant using classes instead.
> On Mon, 18 Dec 2017 at 03:31 Frederick Stark <coagmano at> wrote:
>> I appreciate hearing Kai's point of view and think that we've had this
>> exact discussion enough times. At this point it just adds to inbox weight
>> without changing any minds
>> On Dec 18 2017, at 8:23 am, Terence M. Bandoian <terence at> wrote:
>>> I appreciate hearing Kai's point of view and don't think he should be
>>> silenced.
>>> -Terence Bandoian
>>> On 12/17/2017 2:03 PM, T.J. Crowder wrote:
>>> On Sun, Dec 17, 2017 at 7:21 PM, Jordan Harband <ljharb at> wrote:
>>> >
>>> > Adding features in *no way* sacrifices simplicity or ease-of-use
>>> > for smaller web projects; as has been said many times on this
>>> > list, if you don't like any new feature, simply choose not to use
>>> > it.
>>> And in many or even most cases, markedly *improves* simplicity and
>>> ease-of-use. As has also been repeatedly pointed out.
>>> Kai: Genuine questions are fine. Questions which are really just you
>>> pushing your agenda of "don't change anything ever again" and your personal
>>> -- and solitary -- claim that "all this new stuff makes life difficult for
>>> people" are, at best, pointless. Your position has been made crystal clear.
>>> There's no need to bang on about it.
>>> -- T.J. Crowder
>>> _______________________________________________
>>> es-discuss mailing list
>>> es-discuss at
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at
> _______________________________________________
> es-discuss mailing list
> es-discuss at

More information about the es-discuss mailing list