Language design

joe joeedh at gmail.com
Sun Jun 14 00:27:51 UTC 2015


Heh, I remember I thought many ES6 features were oddly designed, or even
crazy.  However, since I was dealing with production code and needed said
features (and had decided to target ES6), I dutifully added 'em to my
crappy transpiler one-by-one.

Now I think *I* was crazy.  When I was implementing the module
import/export syntax, I couldn't fathom why anyone would design it that
way.  Now I can't imagine living without it; I love it.  I thought the
concept of Symbol was odd too, until I got sick of seeing __iterator__
everywhere (that horrible "__" gets hard on the eyes after a while).

When I first started by project (all-shape.com), my code looked like this:

    function Class() {
        Object.defineProperty(this, "prop", {
            get : function() {
            }
        })
    }
    Class.prototype.MethodA = function() {
    }
    Class.prototype.MethodB = function() {
    }

You have no idea how much it meant to me when I implemented classes and
started seething this instead:

    class Class {
        MethodA() {
        }
        MethodB() {
        }
        get prop() {
        }
    }

Believe it or not, I implemented super() late.  Oh man.  When I started
seeing suff like:

    Bleh.prototype.bleh.call(this)

Replaced with:

    super.bleh();

I thought I would jump for joy.

Anyway, I'm incredibly grateful to the TC39 committed for their work.

Thanks,
Joe

P.S.

. . .If a mailing list must have noise a well as signal, why not have
positive noise mixed in with the negative?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150613/e46f8e1d/attachment.html>


More information about the es-discuss mailing list